Wer kann mir Blockly noob helfen? GELÖST !!!

  • Moin Gemeinde.

    Ich habe folgendes kleine Blockly script verfasst und bekomme jetzt bei Erreichen der Temperatur massig Telegram Benachrichtigungen.

    Eine würde mir reichen. Welche Variable muss ich ändern?

  • Wenn du nur eine Benachrichtigung bei erreichen willst, musst du zusätzlich eine Variable setzen, wenn die Benachrichtigung erfolgt ist und die dann erst wieder auf 0 setzen, wenn die Temperatur unter 24 abfällt.

    also:
    Variable "Nachricht raus" = 0
    wenn >=24 und "Nachricht raus" = 0
    dann sende Telegram und setze "Nachricht raus" = 1
    sonst wenn < 24 setze "Nachricht raus" = 0

    Soweit prinzipiell die Logik

    Problem: wenn die Temperatur länger zwischen 23,9 und 24 pendelt, kommen wieder viele Benachrichtigungen.
    Dazu müsstest du weiter filtern oder <24 verringern

    Mehr geht mobil momentan nicht zu erklären...

  • Würdest Do so freundlich sein und das Script für mich schreiben? Ich bekomme das nicht hin. Und den Code hier posten? Dann könnte ich den importieren. Vielen Dank

  • Bei "Object ID defaut" und "Wert vom Object ID ID auswählen" musst du deinen Temperatur-Datenpunkt auswählen. (den habe ich nicht als Quelle verfügbar)

    Spoiler anzeigen
  • Mach es dir doch einfacher und setze alle Variablen ins Skript. Folgendes hab ich mal getestet und es läuft bei mir genau so.

    Geht der Wert über 24, bekommst du EINMALIG eine Meldung. Erst wenn der Wert einmal unter 22 gesunken ist und dann wieder über 24 bekommst du wieder eine Meldung.

    Bei allen 3 Object ID's musst du natürlich deinen Temperatursensor eintragen. Den hab ich ja nicht als Objekt :)

    e5mpguj3.png

  • mellus

    Hast du geprüft, ob der neue Datenpunkt geändert wird (true/false)?

    Welchen Typ hat der Datenpunkt mit der Temperaturangabe? Numerisch? Text?

    Gibt es eine Log-Ausgabe?

    @cruunnerr

    Wenn du das flag nur als Variable im Script setzt, wird das dann auch über einen Neustart von iobroker hinweg erhalten, oder ist die Variable dann wieder 0?

  • erst noch einmal meinen Dank für Eure Hilfe, tolles Forum :thumbup:

    cruunnerr auch bei Deinem script gibt es mehrere Telegram Meldungen.


    Das Merkwürdige dabei ist, dass Telegram die Nachrichten irgendwann einstellt, obwohl die Temperatur noch weit über 24Grad ist.

    @Der Datenpunkt ändert sich. Ich benutze einen Föhn zum testen. die Temperatur geht dann schnell über 24Grad bis ca 35Grad.

  • Slackline

    Hab ich nicht probiert. Aber bei Neustart des JavaScript Adapters ist die Variable wahrscheinlich wieder 0

    Für dieses Skript wäre es denke ich verkraftbar, aber trotzdem irgendwie blöd. Stimmt schon.

    mellus

    Wenn du hier auch mehrere Meldungen kriegst, dann würd ich die Fehlersuche am Skript erstmal abschließen/vertagen

    Stell mal den JavaScript Adapter und den Telegram Adapter auf debug.

    Vorher den Temperatursensor mal auf 20° abkühlen.

    Und dann aufwärmen und im Log schauen was da alles so passiert.

  • kannst du mal nachschauen, ob du im LOG vielleicht ein warn oder error hast (bezüglich dieses Skripts)?

    im Blockly in dem Check-Block hast du die Objekt-Id "default" eh auf deine temperature gestellt oder?

  • Danke Euch, auch wenn es keine Lösung gibt.

    Ich kann mit dem Telegram spam leben ;)

    Wäre natürlich schön gewesen, eine funktionierendes script zu haben, zumal das nur 1 Raum von dreien ist.

    34165554dy.png


    Ich werde jetzt noch versuchen, aus dem gleich/größer 24Grad ein gleich zu machen.

  • Wenn du ein gleich machst kommt es nur wenn es genau 24 hat... Schwachsinnig

    Aber dann bekomme ich bei steigender Temperatur vielleicht nur 1 Telegram Meldung. und das reicht mir, um zu erfahren, dass die Temperatur zu hoch ist und ich eine GOSUND Steckdose der Elektroheizung abschalte, wenn ich nicht vor Ort bin.

    Leider lassen sich die Gosund Wlan Steckdosen ja nicht in iobroker einbinden :( und nur über die Mi Home App steuern.

    3 Mal editiert, zuletzt von mellus (25. Oktober 2018 um 13:32)

  • Also irgendwas machst du falsch oder hast in der Vergangenheit was falsch gemacht :/

    Und die Überlegung nur bei exakt 24° zu schalten ist wie homecineplexx schon sagte unklug.

    Erstens müsstest du den gemessenen Wert runden, da sonst wahrscheinlich gar keine Auslösung kommt.

    Zweitens: wenn der Wert dann einige Minuten eben auf 24° bleibt, ist die Bedingung ja genauso erfüllt und du hättest den gleichen Effekt.

    Keine Problemlösung suchen, sondern Ursachenforschung betreiben ist hier der einzige Rat ;)


    Edit:

    Und die gosund Dinger lassen sich Flashen und dann sehr wohl direkt einbinden, da sie auch einen ESP8266 inne tragen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!