- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 8 von 9 ErsteErste ... 6789 LetzteLetzte
Ergebnis 71 bis 80 von 90

Thema: html-Code für virtuelles website-Button-Pad

  1. #71
    HaWe
    Gast
    Anzeige

    Powerstation Test
    aha, dann müsste man wschl aber eher für die Events "Left-Click in die Matrix" und "Left-Click auf Change:OK-Button" verschiedene Signal-Variablen verwenden.

    - - - Aktualisiert - - -

    PS,
    der "Change: OK" Button hieß früher nur "OK", das war aber missverständlich.
    Was er machen soll:
    Der Button soll signalisieren, dass man mit dem Herumklicken in der Matrix fertig ist und der aktuelle Zustand mit den jetzt zuletzt gemachten Änderungen übermittelt und dann weiter verarbeitet werden soll.

    Alle vorherigen Klicks und Änderungen in der Matrix (inkl. "Clear"-Buttonclick) sind für das NN Programm eigentlich völlig unwichtig, sie müssen nur in der Matrix sichtbar sein ("X" oder " ");
    das ist aber nur für den Benutzer wichtig, damit er sieht, was er bisher so gemacht hat, nicht aber fürs NN-Programm.

    Erst nach "Change: OK"
    (noch besser: "Matrix: submit")
    sollen die Matrix-Daten ans NN-Programm gesendet und dann vom NN Programm in der loop() weiter verarbeitet werden.
    Geändert von HaWe (09.11.2019 um 12:43 Uhr)

  2. #72
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Der Button soll signalisieren, dass man mit dem Herumklicken in der Matrix fertig ist und der aktuelle Zustand mit den jetzt zuletzt gemachten Änderungen übermittelt und dann weiter verarbeitet werden soll.
    Ja das ist Sinn und Zweck dieses Buttons gewesen. Wenn Änderungen der Matrix beim nodeMCU ankommen wird dies in "isChange" mit "1" markiert. Sind keine Änderungen da, wird das mit mit "0" markiert.
    Daher kannst Du in Deinem Programm z.B. auch schreiben: bool toChange = isChange;



    Ich habe es mal geändert, dass es zwei Variablen gibt: ChangeOk und ChangeM

    neue Version: KeyPad20191109-1.zip


    ChangeOk ist immer "1", wenn Daten mit diesem Button übermittelt wurden.
    ChangeM ist nur "1", wenn die Daten der Matrix vom User auch geändert wurden.
    Geändert von Moppi (09.11.2019 um 12:49 Uhr)

  3. #73
    HaWe
    Gast
    edit:
    die "neue Version" kann ich wieder nicht verwenden - deine jetzigen Änderungen passen nicht zu meiner Programmstruktur.

    wie oft noch:
    zip Anhänge bringen nichts, besser man kann es dirket lesen, um sich darüber zu verständigen, und es bringt nur ein vollständiges Programm etwas!.



    (ich habe es als komplette Block-Änderung versucht, ergibt gefühlt 1000 Fehlermeldungen).

    Dann habe ich es schrittweise versucht...:
    isChangeM (Matrix) interessiert ja mein Programm (in loop()) wie gesagt auch gar nicht mehr, sondern nur isChangeOK (Button);
    wenn ich allerdings jetzt isChangeOK wie bisher isChange abfrage, dann werden nun überhaupt keine Matrix-Daten mehr an loop() weitergegeben.

    Ist also alles kompletter Murks im jetzigen Zustand: Ich brauche die kompletten Änderungen in meinem kompletten Programm.
    Ich verstehe auch nicht, warum du dich so halsstarrig weigerst, sie in den lauffähigen Code einzubauen, wo es doch als losgelöstes Block-Schnipsel überhapt nichts nutzt!

    Du kannst dann dort im Komplett-Programm aber gerne alle "toXXX" nach "isXXX) zurück-verändern.

    - - - Aktualisiert - - -

    PS:

    der Change:OK Button muss IMMER die Matrix senden, auch wenn keine Änderungen in der Matrix vorgenommen wurden - er tut aber sowieso in jedem Falle überhaupt nichts (Auswertung der Variable "isChangeOK")!
    Geändert von HaWe (09.11.2019 um 23:34 Uhr)

  4. #74
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    der Change:OK Button muss IMMER die Matrix senden
    Macht der ja auch.

    Und da er auch das in der bisherigen Version macht, was Du Dir vorgestellt hast, brauchst Du auch den geänderten Code nicht. Damit wird es in der Tat u.U. nicht einfacher. Obwohl Du im neuen Code, so wie Du es brauchst, dann nicht ChangeOk abfragst, sondern ChangeM, das hat dann eigentlich die Funktion, die Du benötigst. Weil aus isChange ist isChangeM geworden.

    Ich habe den Verdacht, dass Du damit nicht richtig umgehst, warum auch immer.
    Da mein 3D-Drucker aber heute unter Koprostase leidet, nehme ich mir mal meinen Code und ....

    ... dann wird ein Video bei rauskommen.




    MfG
    Geändert von Moppi (09.11.2019 um 14:04 Uhr)

  5. #75
    HaWe
    Gast
    hast du nicht geschrieben, dass isChangeM die MatrixClicks abfragt? das ist aber nicht wichtig.
    Wichtig ist nur, dass der Change:OK Button abgefragt wird (isChangeOK) und dann auf Abfrage von isChangeOK ohne wenn und aber den aktuellen Matrix-Inhalt übermittelt.

    - - - Aktualisiert - - -

    Zitat Zitat von Moppi Beitrag anzeigen
    Macht der ja auch.

    Und da er auch das in der bisherigen Version macht, was Du Dir vorgestellt hast, brauchst Du auch den geänderten Code nicht. Damit wird es in der Tat u.U. nicht einfacher. Obwohl Du im neuen Code, so wie Du es brauchst, dann nicht ChangeOk abfragst, sondern ChangeM, das hat dann eigentlich die Funktion, die Du benötigst. Weil aus isChange ist isChangeM geworden.

    Ich habe den Verdacht, dass Du damit nicht richtig umgehst, warum auch immer.
    Da mein 3D-Drucker aber heute unter Koprostase leidet, nehme ich mir mal meinen Code und ....

    ... dann wird ein Video bei rauskommen.




    MfG
    Ich habe eher den Verdacht dass DU den Code fürs NN in loop() nicht richtig umgesetzt hast.
    poste dann aber auch bitte den kompletten Code, damit ich ihn bei mir kontrollieren kann!

    auf Abfrage von isChangeOK muss er folgendes machen (muss sich wie hier per Serial.print() kontrollieren lassen):

    Code:
    void loop() {
      if (isChangeOK ) {
        Serial.println("new data:");
        for (int i = 0; i < 100; i++) {
           bufferArray[i] = (float)matrix[i];
           Serial.println((String)i + ": " + bufferArray[i]);
        }
        isChangeOK =0;
      }
      //...
      //...
    }

  6. #76
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Ich habe mal einiges ausprobiert und mir anzeigen lassen, um Missverständnisse zu vermeiden:

    Code:
    meine Version: 20191102.1
    
    Ausgangssituation:
    
    
      isChange:   0
      isLearn:    0
      isDetect:   0
      isReset:    0
      isSave:     0
      isClear:    0
      stateLearn: 0
      stateDetect:0
    --------------------------------
    
    
    Status nach Änderung der Matrix + Change:Ok
    
    
      isChange:   1
      isLearn:    0
      isDetect:   0
      isReset:    0
      isSave:     0
      isClear:    0
      stateLearn: 0
      stateDetect:0
    --------------------------------
    
    
    Status nach Learn
    
    
      isChange:   0
      isLearn:    1
      isDetect:   0
      isReset:    0
      isSave:     0
      isClear:    0
      stateLearn: 1
      stateDetect:0
    --------------------------------
    
    
    Status nach Detect
    
    
      isChange:   0
      isLearn:    0
      isDetect:   1
      isReset:    0
      isSave:     0
      isClear:    0
      stateLearn: 1
      stateDetect:1
    --------------------------------
    
    
    Status nach Reset
    
    
      isChange:   0
      isLearn:    0
      isDetect:   0
      isReset:    1
      isSave:     0
      isClear:    0
      stateLearn: 1
      stateDetect:1
    --------------------------------
    
    
    Status nach Save
    
    
      isChange:   0
      isLearn:    0
      isDetect:   0
      isReset:    0
      isSave:     1
      isClear:    0
      stateLearn: 1
      stateDetect:1
    --------------------------------
    
    
    Status nach Change:Ok, ohne Änderung der Matrix
    
    
      isChange:   0
      isLearn:    0
      isDetect:   0
      isReset:    0
      isSave:     1
      isClear:    0
      stateLearn: 1
      stateDetect:1
    --------------------------------
    
    
    Status nach Änderung der Matrix + Change:Ok
    
    
      isChange:   1
      isLearn:    0
      isDetect:   0
      isReset:    0
      isSave:     1
      isClear:    0
      stateLearn: 1
      stateDetect:1
    Was mir dabei aufgefallen ist:

    Die Buttons Learn, Detect, Reset, Save und Clear setzen den Status aller anderen Buttons auf "0". Change aber tut das nicht.

    Daher: Wenn eine Änderung von Dir registriert wurde, weil isChange == 1 war, muss isChange von Deinem Programm auf "0" gesetzt werden. Solang dies nicht geschieht, bleibt isChange (nach erfolgter Änderung) auf "1", bis Du es entweder löschst oder einer der anderen Buttons angeklickt wurde.

    Zu stateLearn und stateDetect steht auch was in der Beschreibung. Wurden die zugehörigen Buttons angeklickt, bleiben diese Variablen auch so lange auf "1", bis Du sie änderst. Bei "1" erscheint hier der zugehörige Button im Browser dann in Rot.

    - - - Aktualisiert - - -

    hast du nicht geschrieben, dass isChangeM die MatrixClicks abfragt? das ist aber nicht wichtig.
    Wichtig ist nur, dass der Change:OK Button abgefragt wird (isChangeOK) und dann auf Abfrage von isChangeOK ohne wenn und aber den aktuellen Matrix-Inhalt übermittelt.
    Ich habe oben schon geschrieben, dass dies so funktioniert. Das hat immer so funktioniert. Siehe: https://www.roboternetz.de/community...l=1#post656202
    Geändert von Moppi (09.11.2019 um 15:00 Uhr)

  7. #77
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Nein! Du bringst gerade die Versionen durcheinander!

    Ich hatte schon geschrieben: lass die neue Version 20191109 in Ruhe, nimm die Alte, die Du vorher auch hattest, die machte das, was Du willst. Ansonsten ist bei der Neuen aus "isChange" "isChangeM" geworden. Es sei denn, es interessiert Dich, ob der User auf Chanke:Ok geklickt hat, ohne dass sich etwas geändert hätte - dies spiegelt dann isChangeOk wieder (mit "1").

  8. #78
    HaWe
    Gast
    ich habe noch mehr Fehler entdeckt....

    - - - Aktualisiert - - -

    ja, es müssen offensichtlich neue Funktionen für Matrix-Änderung und ChangeOK ButtonClick hinzukommen.


    falsch:
    es darf immer nur bei einem Event die entsprechende Variable auf 1 gesetzt werden, ALLE ANDEREN dürfen nicht geändert werden in ihrem Zustand.


    also bei
    MatrixClick: nur isChangeM =1

    ChangeOK Btn: nur isChangeOK=1

    Clear Btn: nur isClear=1

    Save Btn: nur isSave=1

    Learn Btn: nur IsLearn=1

    usw.


    auch
    stateLearn
    stateDetect
    darf hier nicht verändert oder gesetzt werden, das muss in loop() passieren

    auch alle anderen Variablen-Änderungen dürfen nur in loop() geschehen.
    Geändert von HaWe (09.11.2019 um 15:22 Uhr)

  9. #79
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Ich hatte Dich schon gebeten, eine Wahrheitstabelle zu erstellen, dann hätte ich das evtl. eingebaut. So, wie es jetzt ist, funktioniert es aber auch. Du kannst die Variableninhalte in Deine eigenen Variablen übernehmen und dann - je nach Status - die auch ändern, wie Du möchtest oder eben auch nicht ändern, dass ein Status erhalten bleibt.

    auch
    stateLearn
    stateDetect
    darf hier nicht verändert oder gesetzt werden, das muss in loop() paassieren
    Dazu habe ich hier was geschrieben: https://www.roboternetz.de/community...l=1#post656019

    Zitat:
    Ich habe weitere Variablen eingeführt, die Dir Kontrolle und Einfluss erlauben. Du kannst nun Einfluss nehmen, ob der Inhalt der
    neuen Variablen stateLearn und stateDetect - abhängig von der Nutzeraktion -geändert wird oder nicht und kannst
    diese Variablen selbst ändern
    namentlich: ifLearn und ifDetect

    Nochmal aus der Beschreibung:

    Code:
      ---------------------------------------------------------------------
      Variable:     bool stateLearn = 0;
                    bool stateDetect = 0;
      Beschreibung: Status der Buttons und deren Farbe
      Ändern:       Ändern beeinflusst die Farbe der Buttons, im Browser
      Wirkrichtung: bidirektional, Programm <-> Browser
                    (wenn ifDetect/ifLearn = 1, dann wird stateLearn /
                    stateDetect auf "1" gesetzt, wenn der zugeh. Button 
                    im Browser angeklickt wurde)
      Wirkrichtung: unidirektional, Programm -> Browser
                    (wenn ifDetect/ifLearn = 0  und wenn der zugeh.
                    Button im Browser angeklickt wurde, ändern sich 
                    stateLearn / stateDetect nicht)

  10. #80
    HaWe
    Gast
    nein, das ist nicht gut mit stateLearn und statedetect, das muss hier aus dem html code erst mal raus.
    erstmal muss der Rest funktionieren.

    edit: eine Wahrheitstabelle?
    was soll die bringen?
    Es gibt keine Wahrheitstabele, es sollen nur immer aktuelle Buttonclicks per Variablen gesendet werden, der Rest bleibt wie er ist!!
    Geändert von HaWe (09.11.2019 um 23:36 Uhr)

Seite 8 von 9 ErsteErste ... 6789 LetzteLetzte

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 20.03.2019, 14:40
  2. html code für User Login + password (esp8266 + Arduino IDE)
    Von HaWe im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 35
    Letzter Beitrag: 19.08.2018, 20:10
  3. html-Code für nodeMCU mit Arduino IDE + Wifi libs
    Von HaWe im Forum Arduino -Plattform
    Antworten: 7
    Letzter Beitrag: 14.08.2018, 19:30
  4. HTML-Code (scripts)
    Von Technik =) im Forum Umfragen
    Antworten: 6
    Letzter Beitrag: 10.10.2008, 10:21
  5. virtuelles Autocockpit
    Von redg im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 6
    Letzter Beitrag: 02.10.2005, 14:53

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress