Ja, besonders die Umsetzung der Druckmessung wäre sehr interessant.
Diverse Temperaturen der Heizungsanlage erfasse ich schon länger über 1-Wire-Sensoren mit den ESP8266.
Ja, besonders die Umsetzung der Druckmessung wäre sehr interessant.
Diverse Temperaturen der Heizungsanlage erfasse ich schon länger über 1-Wire-Sensoren mit den ESP8266.
Unter mqtt erscheint der Eintrag auch nicht automatisch.
Entweder legst du den Datenpunkt manuell an, oder sendest einmal über mqtt publish den Befehl an den shelly.
Bei shelly1 ist es zB (on/off)
shellies/shelly1-xxxxx/relay/0/command
Du schreibst "draußen"...
Hast du den Sensor tatsächlich im Freien angebracht?
Wenn ich nicht irre, sind die Sensoren schon von der Bauarten her nur für indoor vorgesehen.
Zum Test kannst du den shelly auch über die eigene Web-Oberfläche ein- und ausschalten.
Spätestens dann sollten die Datenpunkte angelegt werden, wenn mqtt korrekt konfiguriert ist.
Das würde sicher nicht viel helfen, denn es ist ein reines Problem mit der Blockly-Bedienung.
Du kopierst den Code aus dem Posting das ich verlinkt habe und importierst den in dein Blockly-Script (Pfeil oben rechts)
Dann hast du links in den Blöcken unter Funktionen die neue Funktion in dein Script ziehen und die Parameter anpassen.
In Blockly kannst du das nur realisieren, indem du eine entspreche Funktion mit createstate anlegst und diese dann in Blockly aufrufst.
Schau mal hier:
https://forum.iobroker.net/viewtopic.php?t=9359#p157770
Anstatt dem Shelly-Adapter in iobroker könntest du auch MQTT auf dem shelly mit originaler Firmware aktivieren, falls du MQTT ohnehin in iobroker nutzt.
Das spart dir einen zusätzlichen Adapter und den Umweg über die Shelly-Cloud.
Ansonsten einfach ausprobieren...
... angefangen mit Shelly-Adapter, bevor du anfängst zu flashen.
Ich nutze die Shelly's über MQTT
Addiere alle Fenster die geöffnet werden in einer Variable, wenn eins geschlossen wird wieder subtrahieren.
Wenn denn die Variable Null ist, Heizung wieder an.
Wenn der Wert der Variablen auch über einen Neustart des iobroker erhalten bleiben soll, wäre es sinnvoll, anstatt einer Variablen den Wert in einen eigenen Datenpunkt zu schreiben.
wozu willst überhaupt flashen??
Eben, seit die Shelly's auch Mqtt unterstützen, kann man die auch ohne umzuflashen über die native Firmware lokal ohne shelly-cloud nutzen.
Ich würde das auch über einen Datenpunkt lösen, zumal dieser auch einen Neustart des iobroker übersteht, wogegen der Wert der Variablen dann verloren gehen würde.
Anstatt in jeder Abfrage ein Telegram zu versenden, lege dir doch dort eine Variable für alle Abfragen an, die die jeweiligen Meldungen zusammen addiert und versende nur zum Schluss, wenn die Variable nicht leer ist.
Mein Dot3 läuft auch mit den wemo-emulator-Geräten.
Allerdings findet [definition='20','0']Alexa[/definition] bei jedem Suchlauf alle wemo-node-Geräte nochmal und fügt die der Liste hinzu, si dass man die neuen Doppelgänger dann über die App manuell löschen muss.
Von den anderen Emulatoren habe ich keinen mit [definition='20','0']Alexa[/definition] und dot3 lauffähig bekommen
Wollte ich, aber vom handy kann ich irgendwie keine Fotos hochladen. ?
Speicher-Spar-Strategie für die Forum-Software.
Nimm einen externen Pic-Hoster...
Noch ein Hinweis aus meiner Erfahrung.
Seit ich den USB Stick [definition='64','0']CC2531[/definition] nicht mehr direkt am USB-Port angeschlossen habe, sondern über eine 1m USB-Verlängerung, hat sich der Empfang erheblich verbessert und ist zuverlässiger geworden.
Wenn du timeout nutzt, solltest du 2 x vergleichen.
1.trigger wenn wert geändert (hast du)
2. ist wert kleiner x?
2a. wenn ja, dann timeout und danach nochmal prüfen ob Wert kleiner x, wenn ja dann fertig
Doch, wenn sich beim Scriptduchlauf durch das Setzt Variable auf 0 die Variable wieder auf 0 geht kommt kommt die Meldung ja wieder, da sie nur blockiert ist wenn die Variable auf 1 ist bzw. nicht auf Null.
Ok, danke für den Hinweis.
Aber was ist mit meinem Script ganz oben im Thema, dort habe ich mit einem Datenpunkt anstatt Variable gearbeitet.
Bei mir funktioniert diese System normalerweise, beim TE aber nicht...
Der Befehl ist doch außerhalb vom Trigger, wird also normalerweise nur ausgeführt, wenn das Script links in der Liste aktiviert oder neu geladen wird, bzw wenn der Javascript Adapter neu gestartet wird.
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?
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?
Wenn der Wert immer um die 24 pendelt, also kurz unter 24 fällt und dann wieder die 24 erreicht, kommt natürlich eine neue Meldung.
Du könntest das Rücksetzen anpassen, dass es zB. erst bei 23,5 erfolgt.