Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Druckmessung

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Druckmessung

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
118 Beiträge 9 Kommentatoren 17.6k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • HomoranH Offline
    HomoranH Offline
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #73

    @Thisoft:

    jetzt hatte ich dich schon fast ein wenig vergessen - sorry. `

    Bad news first:

    Das nette Teil hat mir meine gesamte HM lahmgelegt :(

    gut geflasht - am Schreibtisch ohne Sensor 0 (Hurra!)

    Angeklemmt - beim Versuch zu überprüfen blieb der Wert auf 0; bei der HM lief nichts mehr - WebUI kam nicht mehr hoch; über CuxD nachgesehen -> ReGa Crash!

    neu gestartet -> gleiches Bild :(

    Sensor abgeklemmt - CCU neu gestartet - lief; aber der Sensor war weg!?

    Sensor neu angelernt -> CCU hing.

    ich konnte noch kurz sehen, dass der Wert auf 255 stand.

    Abgeklemmt -> lief wieder.

    Angeklemmt 0 -> 255 -> 0 -> hing :cry:

    Hast du eine Idee?

    ich fürchte der sendet die Signale zu oft (durch die "Kalibrierung" zu hohe Spreizung und zu häufige Schwankungen??)

    Dann muss ich ggf. den Mode wechseln.

    Sollte es am Sketch liegen kann ich nichts dazu sagen.

    Übrigens:

    auch bei Pumpe aus und anschließendem Anklemmen kommt 0 -> 255 -> 0

    EDIT:

    so sieht es mit offenem Eingang aus (Sensor abgeklemmt - der hängt noch am Filter)

    Gestartet
    Analogwert = 145
    Binärwert = 00000000
    
    Analogwert = 255
    Binärwert = 00000010
    
    Analogwert = 155
    Binärwert = 00000000
    
    Analogwert = 227
    Binärwert = 00000001
    
    Analogwert = 255
    Binärwert = 00000010
    
    Analogwert = 163
    Binärwert = 00000000
    
    Analogwert = 167
    Binärwert = 00000000
    
    Analogwert = 253
    Binärwert = 00000010
    
    Analogwert = 198
    Binärwert = 00000001
    
    

    EDIT2:

    und so sieht es mit dem alten Sketch aus:

    Gestartet
    Analogwert = 893
    Binärwert = 01111101
    
    Analogwert = 736
    Binärwert = 11100000
    
    Analogwert = 753
    Binärwert = 11110001
    
    Analogwert = 1023
    Binärwert = 11111111
    
    Analogwert = 744
    Binärwert = 11101000
    
    Analogwert = 634
    Binärwert = 01111010
    
    Analogwert = 984
    Binärwert = 11011000
    
    Analogwert = 803
    Binärwert = 00100011
    
    

    Ich weiß, dass man nicht mit offenen Eingängen arbeiten soll.

    Aber vielleicht sollten wir mBar ausgeben, damit die Werte höher sind??

    Gruß

    Rainer

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    1 Antwort Letzte Antwort
    0
    • ThisoftT Offline
      ThisoftT Offline
      Thisoft
      schrieb am zuletzt editiert von
      #74

      Hallo Rainer,

      zuerst mal verwundert mich das ein wenig dass man durch "falsche" Werte mit denen man das Schnittstellenmodul füttert die gesamte HM zum Aufhängen bringen kann. Da ist wohl auch was noch nicht ganz ausgereift, zumal es in der Bedienungsanleitung keinen Hinweis auf Einschränkungen beim Wertebereich o.ä. gibt.

      Zugegeben war der Sketch noch insofern unsauber dass evtl. negative Werte entstehen konnten. Darauf deutet auch hin dass in deinem Test die Binär- nicht zu den Analogwerten passten. Hier erstmal eine Korrektur:

      ! ````
      int sensorPin = A7;
      int firstDigitPIN = 2;
      int sensorValue = 0;
      int DruckValue = 0;
      ! const int Zykluszeit = 10; //Messintervall in Sekunden
      const int Nullpunkt = 102; //dieser Analogwert entspricht 0 bar
      const int Messfaktor = 68; //durch diesen Wert wird der Analogwert geteilt
      ! void sendValue(int intVal){
      String binZahl;
      byte aktBit;
      for (int b = 0; b < 8; b += 1){
      aktBit = bitRead(intVal, b);
      binZahl = aktBit + binZahl;
      digitalWrite(firstDigitPIN + b,!(boolean) aktBit);
      }
      Serial.println("Binärwert = " + binZahl);
      Serial.println("");
      }
      ! void setup() {
      Serial.begin(9600);
      for (int digitPIN = firstDigitPIN; digitPIN <= firstDigitPIN + 7; digitPIN += 1){
      pinMode(digitPIN, OUTPUT);
      }
      Serial.println("Gestartet");
      }
      ! void loop() {
      // read the value from the sensor:
      sensorValue = analogRead(sensorPin)/4; //weil der Arduino mit 10 bit Auflösung misst, wir aber nur 8 bit übertragen können
      Serial.println("Analogwert = " + (String) sensorValue);
      DruckValue = (sensorValue - Nullpunkt);
      if (DruckValue < 0) DruckValue = 0;
      DruckValue = (int) DruckValue / Messfaktor * 10;
      Serial.println("Druckwert in 0.1bar = " + (String) DruckValue);
      sendValue(DruckValue);
      delay(Zykluszeit*1000);
      }

      
      Ich hab den Ausgabewert jetzt mal in Zehntelbar gerechnet. Dein Einwand ist richtig, aber mBar geht nicht da die größte mit 8bit darstellbare Zahl 255 ist und 0,25bar ein wenig knapp wäre ;-)
      
      Probier ruhig erstmal mit offenen Eingängen aus, das macht in diesem Fall nix - hast du wenigstens gleich realisitsch schwankende Werte ;)
      
      Dass der Arduino die Daten zu oft sendet kann ich mir eigentlich nicht vorstellen - er sendet ja nur aller 10s.
      
      Falls sich mit dem geänderten Sketch jetzt die HM wieder aufhängt müssen wir erstmal rauskriegen was das Modul bzw. die HM dabei übelnimmt…
      
      Gruß
      
      Thilo

      22 HM-Geräte; PivCCU2 auf RasPi

      ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

      1 Antwort Letzte Antwort
      0
      • HomoranH Offline
        HomoranH Offline
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #75

        @Thisoft:

        er sendet ja <size size="150">nur</size> aller 10s. `
        und das Sendemodul dann wenn der Wert 1 Sekunde stabil ist.

        Das darf aber wegen des DC nur etwa alle drei Minuten senden (oder entsprechend viele Pakete pro Stunde).

        Ich fürchte, dass das quittierungspflichtige Pakete sind (allerdings war der DC der CCU nicht hochgegangen)

        Im Moment ist dein Sketch v1 drauf und alles läuft rund.

        Ich werde gleich mal wieder in den Garten gehen und den Arduino neu flashen.

        @Thisoft:

        zuerst mal verwundert mich das ein wenig dass man durch "falsche" Werte mit denen man das Schnittstellenmodul füttert die gesamte HM zum Aufhängen bringen kann. `
        Das hatte ich auch gedacht und deswegen das zu häufige Senden als Ursache vermutet. Die CCU ist schließlich kein Arduino ;-)

        Es ist allerdings auch nicht auszuschließen, dass es wegen unplausibler Werte (Range > 8Bit, aber das hast du ja abgefangen) zu den Hängern kam

        Danke für deine Mühe

        Rainer

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Antwort Letzte Antwort
        0
        • HomoranH Offline
          HomoranH Offline
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #76

          Dein V3 zeigt jetzt:

          Gestartet
          Analogwert = 198
          Druckwert in 0.1bar = 10
          Binärwert = 00001010
          
          Analogwert = 158
          Druckwert in 0.1bar = 0
          Binärwert = 00000000
          
          Analogwert = 229
          Druckwert in 0.1bar = 10
          Binärwert = 00001010
          
          Analogwert = 250
          Druckwert in 0.1bar = 20
          Binärwert = 00010100
          
          Analogwert = 237
          Druckwert in 0.1bar = 10
          Binärwert = 00001010
          
          Analogwert = 174
          Druckwert in 0.1bar = 10
          Binärwert = 00001010
          
          Analogwert = 183
          Druckwert in 0.1bar = 10
          Binärwert = 00001010
          
          Analogwert = 250
          Druckwert in 0.1bar = 20
          Binärwert = 00010100
          
          

          @Thisoft:

          dass in deinem Test die Binär- nicht zu den Analogwerten passten `
          Das sieht jetzt schon mal besser aus.

          aber die Werte sind trotzdem IMHO nicht brauchbar.

          da gibt es nur 10 (0001010) und 20 (00010100), keine Werte dazwischen :(

          Ich bau das Teil erst mal nicht ein, sondern lass es hier auf dem Schreibtisch (und versuche in der Zwischenzeit mal den Sketch zu verstehen)

          EDIT:

          Mutig ich bin ;-)

          Wäre es nicht besser statt

          DruckValue = (int) DruckValue / Messfaktor * 10;
          

          zu machen:

          DruckValue = (int) DruckValue * 10 / Messfaktor;
          

          nee, hier gilt das Kommutativgesetz :(

          Aber wie bekommt man die Stufen raus?

          Gruß

          Rainer

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          1 Antwort Letzte Antwort
          0
          • ThisoftT Offline
            ThisoftT Offline
            Thisoft
            schrieb am zuletzt editiert von
            #77

            Ja - natürlich :oops: Das kommt davon wenn man das schnell nebenher zusammenschreibt ohne zu Testen. Hoffentlich hab ich jetzt keine neuen Faselfehler drin… Ist jetzt nicht der gesamte Sketch sondern nur die Loop-Routine, bekommst du hin - oder?

            void loop() {
              // read the value from the sensor:
              sensorValue = analogRead(sensorPin)*10; 
              Serial.println("Analogwert = " + (String) sensorValue);
              DruckValue = (sensorValue - (Nullpunkt * 10));
              if (DruckValue < 0) DruckValue = 0;
              DruckValue = (int) DruckValue / Messfaktor / 10;
              Serial.println("Druckwert in 0.1bar = " + (String) DruckValue);
              sendValue(DruckValue);
              delay(Zykluszeit*1000);
            }
            

            Übrigens - wenn der Arduino seltener senden soll kannst du das ganz einfach machen indem du im Sketch die Variable "Zykluszeit" änderst (steht ziemlich am Anfang…)

            22 HM-Geräte; PivCCU2 auf RasPi

            ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

            1 Antwort Letzte Antwort
            0
            • HomoranH Offline
              HomoranH Offline
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #78

              @Thisoft:

              bekommst du hin - oder? `
              Denke ich schon - Danke!

              @Thisoft:

              Übrigens - wenn der Arduino seltener senden soll kannst du das ganz einfach machen indem du im Sketch die Variable "Zykluszeit" änderst (steht ziemlich am Anfang…) `
              Habe ich gesehen, aber das könnte man auch über das Sendemodul konfigurieren, dann müssten aber die Signale im Arduino negiert werden, da es nicht alle Varianten für high oder low active gibt.

              ~~![](</s><URL url=)<link_text text="download/file.php?id=30636&mode=view">https://forum.iobroker.net/download/file.php?id=30636&mode=view</link_text>" />

              habe bisher Mode5 und jetzt auf Mode 7 gestellt

              ggf dann aber doch über den D030 des Moduls, der mit dem D10 des Arduino verbunden ist, dann kann man triggern.

              Im MOment ist der DC der CCU auf 97% :(

              Die neuen Werte sehen so aus:

              Gestartet
              Analogwert = 9990
              Druckwert in 0.1bar = 13
              Binärwert = 00001101
              
              Analogwert = 6520
              Druckwert in 0.1bar = 8
              Binärwert = 00001000
              
              Analogwert = 6670
              Druckwert in 0.1bar = 8
              Binärwert = 00001000
              
              Analogwert = 7340
              Druckwert in 0.1bar = 9
              Binärwert = 00001001
              
              Analogwert = 8920
              Druckwert in 0.1bar = 11
              Binärwert = 00001011
              
              Analogwert = 9510
              Druckwert in 0.1bar = 12
              Binärwert = 00001100
              
              Analogwert = 9840
              Druckwert in 0.1bar = 12
              Binärwert = 00001100
              
              

              in der CCU steht immer noch 255, kann aber am DC liegen, oder dasss mode7 eben wegen high active nichts bringt

              Gruß

              Rainer~~

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              1 Antwort Letzte Antwort
              0
              • ThisoftT Offline
                ThisoftT Offline
                Thisoft
                schrieb am zuletzt editiert von
                #79

                Mit Mode 7 kann momentan normalerweise nichts übertragen werden deshalb wäre mir die 255 jetzt schon plausibel.

                Allerdings ist der DC von 97% überhaupt nicht plausibel :(

                Ich hab jetzt mal die Unterstützung für den Dateneingang an D10 mit eingebaut. Außerdem sollte beim Starten erstmal eine 0 übertragen werden.

                Die Werte innerhalb des Arduino sehen ja jetzt gut aus…

                ! ````
                int sensorPin = A7;
                int firstDigitPIN = 2;
                int sendPIN = 10;
                int sensorValue = 0;
                int DruckValue = 0;
                ! const int Zykluszeit = 10; //Messintervall in Sekunden
                const int Nullpunkt = 102; //dieser Analogwert entspricht 0 bar
                const int Messfaktor = 68; //durch diesen Wert wird der Analogwert geteilt
                ! void sendValue(int intVal){
                String binZahl;
                byte aktBit;
                for (int b = 0; b < 8; b += 1){
                aktBit = bitRead(intVal, b);
                binZahl = aktBit + binZahl;
                digitalWrite(firstDigitPIN + b,!(boolean) aktBit);
                }
                digitalWrite(sendPIN, HIGH);
                delay(100);
                digitalWrite(sendPIN, LOW);
                Serial.println("Binärwert = " + binZahl);
                Serial.println("");
                }
                ! void setup() {
                Serial.begin(9600);
                for (int digitPIN = firstDigitPIN; digitPIN <= firstDigitPIN + 7; digitPIN += 1){
                pinMode(digitPIN, OUTPUT);
                digitalWrite(digitPIN,LOW);
                }
                pinMode(sendPIN, OUTPUT);
                digitalWrite(sendPIN, HIGH);
                delay(100);
                digitalWrite(sendPIN, LOW);
                Serial.println("Gestartet");
                }
                ! void loop() {
                // read the value from the sensor:
                sensorValue = analogRead(sensorPin)/4; //weil der Arduino mit 10 bit Auflösung misst, wir aber nur 8 bit übertragen können
                Serial.println("Analogwert = " + (String) sensorValue);
                DruckValue = (sensorValue - Nullpunkt);
                if (DruckValue < 0) DruckValue = 0;
                DruckValue = (int) DruckValue / Messfaktor * 10;
                Serial.println("Druckwert in 0.1bar = " + (String) DruckValue);
                sendValue(DruckValue);
                delay(Zykluszeit*1000);
                }

                22 HM-Geräte; PivCCU2 auf RasPi

                ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                1 Antwort Letzte Antwort
                0
                • HomoranH Offline
                  HomoranH Offline
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #80

                  Habe jetzt einiges herumgespielt und für mich ist für heute erst mal Schluss.

                  Ich bin erst einmal zu folgendem Schluss gekommen:

                  • der erhöhte DC hat aktuell wohl nichts mit dem Sensor zu tun, ich habe diesen jetzt an eine Testumgebung gehängt, an der ich allerdings den DC nicht monitoren kann :(

                    • ob das Gerät der Auslöser (wie auch immer) war kann ich nicht nachvollziehen, ich hoffe nur dass sich der DC in meiner produktiven Umgebung irgendwann einbekommt. Gestartet ist er exakt mit den Problemen mit dem Sensor. ab da stieg er stetig bis auf 97.
                  • du scheinst die Negierung der Pins gemacht zu haben, also führt mein Setting mit erneuter Negierung zu 255 statt 0 ;-)

                  • in deinem letzten Sketch hast du die Änderung, die ich mit deinem Snippet in dem vorletzten eingebaut hab nicht drin gehabt, da kamen wieder nur 0, 10 und 20 raus.

                  • im angeschlossenen Zustand kam nur noch 0; da muss ich wohl noch mit den Faktoren spielen.

                    • und mit den verschiedenen Modi.
                    • einerseits soll ziemlich schnell ein Leck/Luft detektiert werden, andererseits brauche ich bei minimalen Abweichung nicht alle 10 Sec. einen Wert.

                  Danke nochmals bis hier hin

                  Rainer

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  1 Antwort Letzte Antwort
                  0
                  • ThisoftT Offline
                    ThisoftT Offline
                    Thisoft
                    schrieb am zuletzt editiert von
                    #81

                    @Homoran:

                    Habe jetzt einiges herumgespielt und für mich ist für heute erst mal Schluss.

                    Ich bin erst einmal zu folgendem Schluss gekommen:

                    • der erhöhte DC hat aktuell wohl nichts mit dem Sensor zu tun, ich habe diesen jetzt an eine Testumgebung gehängt, an der ich allerdings den DC nicht monitoren kann :(

                      • ob das Gerät der Auslöser (wie auch immer) war kann ich nicht nachvollziehen, ich hoffe nur dass sich der DC in meiner produktiven Umgebung irgendwann einbekommt. Gestartet ist er exakt mit den Problemen mit dem Sensor. ab da stieg er stetig bis auf 97. `

                    Ja - wäre gut zu wissen was da los war…

                    ` > - du scheinst die Negierung der Pins gemacht zu haben, also führt mein Setting mit erneuter Negierung zu 255 statt 0 ;-)

                    • in deinem letzten Sketch hast du die Änderung, die ich mit deinem Snippet in dem vorletzten eingebaut hab nicht drin gehabt, da kamen wieder nur 0, 10 und 20 raus. `

                    Stimmt - das war eher aus Versehen mit passiert :roll:

                    ` > - im angeschlossenen Zustand kam nur noch 0; da muss ich wohl noch mit den Faktoren spielen.

                      • und mit den verschiedenen Modi. `

                    Die Modi sollten m.E. jetzt gar nicht mehr so entscheidend sein wo der D10 mit angesteuert wird..

                    Um die Werte bzw. Faktoren in dir richtige Richtung zu rücken wäre es gut wenn du erstmal den Seriellen Monitor auf einem Lappi oder so mitlaufen lassen könntest…

                    > - - einerseits soll ziemlich schnell ein Leck/Luft detektiert werden, andererseits brauche ich bei minimalen Abweichung nicht alle 10 Sec. einen Wert.
                    Ich habe jetzt noch einen Parameter "MeldeDifferenz" eingebaut. Um diesen Wert (in Zehntelbar) muss sich der neue Messwert vom letzten übertragenen unterscheiden damit der neue Wert gesendet wird.

                    ! ````
                    int sensorPin = A7;
                    int firstDigitPIN = 2;
                    int sendPIN = 10;
                    int sensorValue = 0;
                    int DruckValue = 0;
                    int lastValue = 0;
                    int MeldeDifferenz = 5;
                    ! const int Zykluszeit = 10; //Messintervall in Sekunden
                    const int Nullpunkt = 102; //dieser Analogwert entspricht 0 bar
                    const int Messfaktor = 68; //durch diesen Wert wird der Analogwert geteilt
                    ! void sendValue(int intVal){
                    String binZahl;
                    byte aktBit;
                    for (int b = 0; b < 8; b += 1){
                    aktBit = bitRead(intVal, b);
                    binZahl = aktBit + binZahl;
                    digitalWrite(firstDigitPIN + b,!(boolean) aktBit);
                    }
                    digitalWrite(sendPIN, HIGH);
                    delay(100);
                    digitalWrite(sendPIN, LOW);
                    Serial.println("Binärwert = " + binZahl);
                    Serial.println("");
                    }
                    ! void setup() {
                    Serial.begin(9600);
                    for (int digitPIN = firstDigitPIN; digitPIN <= firstDigitPIN + 7; digitPIN += 1){
                    pinMode(digitPIN, OUTPUT);
                    digitalWrite(digitPIN,LOW);
                    }
                    pinMode(sendPIN, OUTPUT);
                    digitalWrite(sendPIN, HIGH);
                    delay(100);
                    digitalWrite(sendPIN, LOW);
                    Serial.println("Gestartet");
                    }
                    ! void loop() {
                    // read the value from the sensor:
                    sensorValue = analogRead(sensorPin)10;
                    Serial.println("Analogwert = " + (String) sensorValue);
                    DruckValue = (sensorValue - (Nullpunkt * 10));
                    if (DruckValue < 0) DruckValue = 0;
                    DruckValue = (int) DruckValue / Messfaktor / 10;
                    Serial.println("Druckwert in 0.1bar = " + (String) DruckValue);
                    if (abs(DruckValue - lastValue) > MeldeDifferenz){
                    sendValue(DruckValue);
                    lastValue = DruckValue;
                    };
                    delay(Zykluszeit
                    1000);
                    }

                    
                    Dann für morgen viel Erfolg!
                    
                    Und - nichts zu Danken, du hast hier schon so viel geholfen, da hast du alle Hilfe verdient…
                    
                    Gruß
                    
                    Thilo

                    22 HM-Geräte; PivCCU2 auf RasPi

                    ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                    1 Antwort Letzte Antwort
                    0
                    • HomoranH Offline
                      HomoranH Offline
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #82

                      Damit ich schon mal nicht schlafen sondern grübeln kann:
                      @Thisoft:

                      wo der D10 mit angesteuert wird.. `

                      Wie passiert das?

                      • was löst das aus?

                      • wie ist er active? (high/low)

                      Bis morgen

                      Rainer

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      1 Antwort Letzte Antwort
                      0
                      • ThisoftT Offline
                        ThisoftT Offline
                        Thisoft
                        schrieb am zuletzt editiert von
                        #83

                        Das passiert indem der D10 jeweils kurz auf HIGH und 100ms später wieder auf LOW gesetzt wird:

                          digitalWrite(sendPIN, HIGH);
                          delay(100);
                          digitalWrite(sendPIN, LOW);
                        

                        das passiert erstmal in der void setup() und dann wieder in void sendValue() nachdem die 8bit auf den neuen Wert gesetzt wurden.

                        Somit ist der D10 also im Normalfall auf LOW und wird nach einer Aktualisierung des Wertes kurz auf HIGH und dann wieder auf LOW gesetzt so dass da jeweils eine steigende und eine fallende Flanke ausgelöst wird.

                        22 HM-Geräte; PivCCU2 auf RasPi

                        ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                        1 Antwort Letzte Antwort
                        0
                        • HomoranH Offline
                          HomoranH Offline
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von
                          #84

                          Gut, aber dann wird im MOde 2 (oder1) immer alle 10 Sekunden gesendet, oder?

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          1 Antwort Letzte Antwort
                          0
                          • ThisoftT Offline
                            ThisoftT Offline
                            Thisoft
                            schrieb am zuletzt editiert von
                            #85

                            Prinzipiell ja, aber in der neuen Version nur wenn der gemessene Wert mehr als 0,5 bar vom letzten übertragenen abweicht.

                            22 HM-Geräte; PivCCU2 auf RasPi

                            ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                            1 Antwort Letzte Antwort
                            0
                            • HomoranH Offline
                              HomoranH Offline
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von
                              #86

                              Hallo Thilo,

                              Habe deinen Rat beherzigt
                              @Thisoft:

                              den Seriellen Monitor auf einem Lappi oder so mitlaufen lassen könntest… `

                              Arduino IDE auf einem Pentium Läppi installiert Kabel drangehängt und den letzten Sketch geflasht (die anderen sind au dem PC).

                              Natürlich ist so ein Kabel immer zu kurz -)

                              Der "Live-Log" wie folgt:

                              Gestartet
                              Analogwert = 1570
                              Druckwert in 0.1bar = 0
                              Analogwert = 1560
                              Druckwert in 0.1bar = 0
                              Analogwert = 1560
                              Druckwert in 0.1bar = 0
                              Analogwert = 1560
                              Druckwert in 0.1bar = 0
                              Analogwert = 1560
                              Druckwert in 0.1bar = 0
                              Analogwert = 1560
                              Druckwert in 0.1bar = 0
                              Analogwert = 1560
                              Druckwert in 0.1bar = 0
                              Analogwert = 1570
                              Druckwert in 0.1bar = 0
                              Analogwert = 1560
                              Druckwert in 0.1bar = 0
                              Analogwert = 970
                              Druckwert in 0.1bar = 0
                              Analogwert = 970
                              Druckwert in 0.1bar = 0
                              Analogwert = 970
                              Druckwert in 0.1bar = 0
                              Analogwert = 970
                              Druckwert in 0.1bar = 0
                              Analogwert = 970
                              Druckwert in 0.1bar = 0
                              Analogwert = 1570
                              Druckwert in 0.1bar = 0
                              Analogwert = 1570
                              Druckwert in 0.1bar = 0
                              Analogwert = 1560
                              Druckwert in 0.1bar = 0
                              Analogwert = 1560
                              Druckwert in 0.1bar = 0
                              Analogwert = 1560
                              Druckwert in 0.1bar = 0
                              
                              

                              Pumpe an mit ziemlich exakt 1bar laut Manometer -> 1560

                              Pumpe aus -> 970

                              Pumpe an -> 1560

                              Das ist schon mal reproduzierbar. Mal sehen ob ich die Formel geändert bekomme.

                              @Thisoft:

                              wenn der gemessene Wert mehr als 0,5 bar vom letzten übertragenen abweicht. `
                              Da muss ich auch mal ran. Die Idee ist super, allerdings sind 0,5 bar, bei etwa 1 bar maximalem Druck (naja auch 1,3 könnte sein, üblich ist aber 0,8 bis 1,1) etwas zu hoch. Mal sehen ob ich den Wert finde und erst einmal auf 0,2 ändern kann.

                              Dann muss ich noch immer die Ursache für 95% DC finden, der Sensor hängt im Moment an einem anderen System.

                              Gruß

                              Rainer

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              1 Antwort Letzte Antwort
                              0
                              • ThisoftT Offline
                                ThisoftT Offline
                                Thisoft
                                schrieb am zuletzt editiert von
                                #87

                                @Homoran:

                                Das ist schon mal reproduzierbar. Mal sehen ob ich die Formel geändert bekomme. `
                                Wiedermal ein einfacher Faselfehler. Such mal die folgende Zeile im Sketch:

                                  DruckValue = (int) DruckValue / Messfaktor / 10;
                                

                                Da muss das "/10" weg - das ist sozusagen "doppelt verfaktoriert" ;-)

                                ` > @Thisoft:

                                wenn der gemessene Wert mehr als 0,5 bar vom letzten übertragenen abweicht. Da muss ich auch mal ran. Die Idee ist super, allerdings sind 0,5 bar, bei etwa 1 bar maximalem Druck (naja auch 1,3 könnte sein, üblich ist aber 0,8 bis 1,1) etwas zu hoch. Mal sehen ob ich den Wert finde und erst einmal auf 0,2 ändern kann.

                                Das ist ganz einfach - 5. Zeile von oben:

                                int MeldeDifferenz = 5;
                                

                                > Dann muss ich noch immer die Ursache für 95% DC finden, der Sensor hängt im Moment an einem anderen System.
                                Ja - ich fürchte da kann ich dir im Moment nicht wirklich helfen…

                                Gruß

                                Thilo

                                22 HM-Geräte; PivCCU2 auf RasPi

                                ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                                1 Antwort Letzte Antwort
                                0
                                • HomoranH Offline
                                  HomoranH Offline
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von
                                  #88

                                  Hallo Thilo,

                                  ich wollte gerade den aktuellen Sketch vermelden - es läuft.
                                  144_pressuresensor.jpg

                                  ! ````
                                  int sensorPin = A7;
                                  int firstDigitPIN = 2;
                                  int sendPIN = 10;
                                  int sensorValue = 0;
                                  int DruckValue = 0;
                                  int lastValue = 0;
                                  int MeldeDifferenz = 2;
                                  ! const int Zykluszeit = 10; //Messintervall in Sekunden
                                  const int Nullpunkt = 97; //dieser Analogwert entspricht 0 bar
                                  const int Messfaktor = 60; //durch diesen Wert wird der Analogwert geteilt
                                  ! void sendValue(int intVal){
                                  String binZahl;
                                  byte aktBit;
                                  for (int b = 0; b < 8; b += 1){
                                  aktBit = bitRead(intVal, b);
                                  binZahl = aktBit + binZahl;
                                  digitalWrite(firstDigitPIN + b,!(boolean) aktBit);
                                  }
                                  digitalWrite(sendPIN, HIGH);
                                  delay(100);
                                  digitalWrite(sendPIN, LOW);
                                  Serial.println("Binärwert = " + binZahl);
                                  Serial.println("");
                                  }
                                  ! void setup() {
                                  Serial.begin(9600);
                                  for (int digitPIN = firstDigitPIN; digitPIN <= firstDigitPIN + 7; digitPIN += 1){
                                  pinMode(digitPIN, OUTPUT);
                                  digitalWrite(digitPIN,LOW);
                                  }
                                  pinMode(sendPIN, OUTPUT);
                                  digitalWrite(sendPIN, HIGH);
                                  delay(100);
                                  digitalWrite(sendPIN, LOW);
                                  Serial.println("Gestartet");
                                  }
                                  ! void loop() {
                                  // read the value from the sensor:
                                  sensorValue = analogRead(sensorPin)10;
                                  Serial.println("Analogwert = " + (String) sensorValue);
                                  DruckValue = (sensorValue - (Nullpunkt * 10));
                                  if (DruckValue < 0) DruckValue = 0;
                                  DruckValue = (int) DruckValue / Messfaktor;
                                  Serial.println("Druckwert in 0.1bar = " + (String) DruckValue);
                                  if (abs(DruckValue - lastValue) > MeldeDifferenz){
                                  sendValue(DruckValue);
                                  lastValue = DruckValue;
                                  };
                                  delay(Zykluszeit
                                  1000);
                                  }

                                  
                                  ~~@Thisoft:~~ 
                                  
                                  > Da muss das "/10" weg - das ist sozusagen "doppelt verfaktoriert" `  
                                  Hab ich schon gefunden ;-)
                                  
                                  ~~@Thisoft:~~ 
                                  
                                  > Das ist ganz einfach - 5\. Zeile von oben: `  
                                  Dito!
                                  
                                  ~~@Thisoft:~~ 
                                  
                                  > Ja - ich fürchte da kann ich dir im Moment nicht wirklich helfen… `  
                                  nee, nich wirklich, aber du hast schon genug geholfen.
                                  
                                  Danke dafür
                                  
                                  Gruß
                                  
                                  Rainer

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  1 Antwort Letzte Antwort
                                  0
                                  • ThisoftT Offline
                                    ThisoftT Offline
                                    Thisoft
                                    schrieb am zuletzt editiert von
                                    #89

                                    Freut mich dass es jetzt läuft :D

                                    Jetzt überlege ich schon, ob ich mir auch noch so ein Dingens in meinen Poolkreislauf reinhänge… Aber dann wäre ja der nächste Schritt auch gleich noch phWert-Messung... und Chlorgehalt... Nein, hör auf jetzt.. ;)

                                    Und siehst Du, jetzt hast du nebenbei auch gleich noch Arduino programmieren gelernt ;)

                                    Gruß

                                    Thilo

                                    22 HM-Geräte; PivCCU2 auf RasPi

                                    ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                                    1 Antwort Letzte Antwort
                                    0
                                    • HomoranH Offline
                                      HomoranH Offline
                                      Homoran
                                      Global Moderator Administrators
                                      schrieb am zuletzt editiert von
                                      #90

                                      @Thisoft:

                                      jetzt hast du nebenbei auch gleich noch Arduino programmieren gelernt `
                                      Nee, da gehört mehr zu. Ist wie mit Fremdsprachen: geschriebenen Text entziffern ist eins, fließend sprechen was ganz anderes.

                                      Ich hätte da noch eine Frage, da es doch nicht ganz so läuft, wie es soll.

                                      Ich fürchte er misst die differen nur > und nicht >=. Wenn ich also 2 eingestellt habe muss der druck sich mindestens von messung zu messung um 0,3 bar ändern.

                                      Bei dem normaldruck von etwa 0,95bar ist das schon viel.

                                      Dazu scheint zu kommen, dass beim an oder abschalten der Pumpe, je nach zufälligem messzeitpunkt es anscheinend vorkommen kann, dass der druck in jeweils 10 sekunden jeweils nur um 0,2 bar (0.9….0,7....0.5....0.3) sinkt oder steigt. Dann wird keine Änderung angezeigt, auch wenn der Druck in der Summe jetzt 0,6 bar gefallen ist.

                                      Was passiert wenn luft drin ist kann ich noch nicht abschätzen.

                                      Ist eine höhere Auflösung möglich, also zweistellig?

                                      Ich hatte beim läppi nur auf die serielle Konsole geachtet, nicht auf die Werte in der ccu.

                                      Gruß Rainer

                                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                      1 Antwort Letzte Antwort
                                      0
                                      • ThisoftT Offline
                                        ThisoftT Offline
                                        Thisoft
                                        schrieb am zuletzt editiert von
                                        #91

                                        @Homoran:

                                        Nee, da gehört mehr zu. Ist wie mit Fremdsprachen: geschriebenen Text entziffern ist eins, fließend sprechen was ganz anderes. `
                                        Naja, fließend kann ich auch nur .NET. Die ganzen C-Dialekte sind für mich genau wie Javascript auch nur 2. Fremdsprachen wo ich hin und wieder im Wörterbuch nachschlagen muss ;)

                                        ` > Ich hätte da noch eine Frage, da es doch nicht ganz so läuft, wie es soll.

                                        Ich fürchte er misst die differen nur > und nicht >=. Wenn ich also 2 eingestellt habe muss der druck sich mindestens von messung zu messung um 0,3 bar ändern. `
                                        Wenn du möchtest kannst du das ja in der folgenden Zeile von ">" in ">=" ändern. Oder eben den Grenzwert in 1 ändern…

                                        if (abs(DruckValue - lastValue) > MeldeDifferenz){
                                        

                                        ` > Bei dem normaldruck von etwa 0,95bar ist das schon viel.

                                        Dazu scheint zu kommen, dass beim an oder abschalten der Pumpe, je nach zufälligem messzeitpunkt es anscheinend vorkommen kann, dass der druck in jeweils 10 sekunden jeweils nur um 0,2 bar (0.9….0,7....0.5....0.3) sinkt oder steigt. Dann wird keine Änderung angezeigt, auch wenn der Druck in der Summe jetzt 0,6 bar gefallen ist. `
                                        Nö - stimmt nicht. Der aktuelle Messwert wird immer mit dem zuletzt gesendeten Wert verglichen.

                                        ` > Was passiert wenn luft drin ist kann ich noch nicht abschätzen.

                                        Ist eine höhere Auflösung möglich, also zweistellig? `
                                        Naja, wir könnten schon auf Hunderstelbar gehen. Dann musst du dir aber bewußt sein dass bei einem Wert über 2,55bar der übertragene Wert in der CCU nicht richtig ist (bzw. eben wieder bei 0 anfängt). Andere Möglichkeit wäre noch sowas krummes wie Fünfzigstelbar …

                                        Gruß Thilo

                                        22 HM-Geräte; PivCCU2 auf RasPi

                                        ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                                        1 Antwort Letzte Antwort
                                        0
                                        • HomoranH Offline
                                          HomoranH Offline
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb am zuletzt editiert von
                                          #92

                                          @Thisoft:

                                          wo ich hin und wieder im Wörterbuch nachschlagen `
                                          bei mir wäre das eher …bis auf ganz weniges NICHT im Wörterbuch... ;-)

                                          @Thisoft:

                                          in der folgenden Zeile von ">" in ">=" ändern. Oder eben den Grenzwert in 1 ändern. `
                                          letzteres hatte ich vor, ersteres war ich mir nicht sicher ob die Syntax das kennt.

                                          @Thisoft:

                                          Der aktuelle Messwert wird immer mit dem zuletzt gesendeten Wert verglichen. `
                                          Das ist gut zu hören, dann muss ich die Ursache woanders suchen :(

                                          @Thisoft:

                                          Naja, wir könnten schon auf Hunderstelbar gehen. Dann musst du dir aber bewußt sein dass bei einem Wert über 2,55bar der übertragene Wert in der CCU nicht richtig ist `
                                          Damit könnte ich leben. So hoch geht ja auch das Manometer nicht.

                                          Solange da nichts zerschossen wird.

                                          Danke mal wieder

                                          Rainer

                                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          341

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe