Ich möchte gerne im WLan-Netz meine Sonoff mit Tasmota FW schalten können., eine Zustandsabfrage wäre auch von Vorteil.
Am besten mit einem Bash Script. Hat das schon jemand mal versucht?
Ich möchte gerne im WLan-Netz meine Sonoff mit Tasmota FW schalten können., eine Zustandsabfrage wäre auch von Vorteil.
Am besten mit einem Bash Script. Hat das schon jemand mal versucht?
ja.
ich habe alle meine Sonoffs mit Tasmota FW geflasht. Die befinden sich je in meinem Heim WLan Netz, genau wie der Raspi.
Da ich mit einem Außenfühler die Temperatur Messe und mit einem Blockly-Script (Domoticz) den TH16 entsprechende ein/aus schalte, Diesen Zustand würde ich gerne abfragen um mit diesem Ergebnis eine Dect200 Schaltsteckdose von AVM zu schalten. Wie ich die Dect mit einem Script schalten kann weiß ich schon,
Wenn du den Basic schalten kannst dann siehst du doch dort auch den Zusatnd.
Also musst du doch nur ein Script verwenden um den Zustand abzufragen und die Steckdose schalten. Das muss doch in Domoticz möglich sein.
Ich habe zwar keine Ahnung wie Domoticz aufgebaut ist, aber im ioBroker sehe ich alle Datenpunkte der jeweiligen Geräte und kann die entsprechend in Scripten verwenden.
Ich kann mit DomoticZ nicht die DECT Steckdosen schalten, zumindest keine ich keine Lösung.
Du kannst soweit ich das jetzt verstanden habe:
Mit einem Script vom Sonoff die Temperatur lesen und den dann entsprechend schalten?
Mit einem Script die DECT Steckdose schalten?
Wenn du tatsächlich keinen Schaltzustand vom Sonoff sehen kannst dann wäre ja noch ein Lösungsansatz beide Scripte zu kombinieren und die DECT Dose mit dem Temperaturfühler des Sonoff zu steuern.
Mit IOBroker auf dem PI ist das ne sehr sehr einfache Geschichte und mit Blockly in 30 Sekunden umgesetzt. Also wenn schon ein Pi läuft, würde ich mal sagen, vergiss Domoticz wenn so was einfaches damit schon kompliziert ist und steig auf IObroker um. Da lässt sich das ganze AVM Zeug direkt einbinden und somit auch direkt steuern.
Wobei das können man doch glatt auch ohne weitere HW und SW über Websend des Sonofff lösen?
Wobei das können man doch glatt auch ohne weitere HW und SW über Websend des Sonofff lösen?
Nein. ich will ja nicht den Sonoff schalten sondern die DECT200 Steckdose von AVM.
Der Sonoff sagt mir nur wenn geschaltet werden soll.
Die DECT zu schalten ist nicht so einfach da ich mich erst der der FB anmelden muss und dazu eine SID errechnet werden muss, um dann über die AIN den Schaltvorgang auszulösen. Mit Weboberfäche geht da nix.
Domoticz kann das nicht und ob das IOBroker kann ?
Aber mir schwebt da eine andere Lösung vor (manchmal träumt man sinnvolles), dies werde ich in den nächsten Tagen testen.
IOBroker kann das und zwar sehr einfach von sich aus schon. Ich habe das bei mir am Laufen. Das mit Websend war auch so gedacht, dass der Sonoff die AVM Dose schaltet, hatte aber ein Denkfehler drin, da die nicht über IP eingebunden ist, wird das nichts.
Mit IOBroker allerdings schon, da es hier wurscht ist, wie die eingebunden ist, weil die einfach mit dem TR-064 Adapter im IOBrpker zur Verfügung steht und dann kann man auch alles was die Dose kann im IOBroker auswerten oder schalten. Da das selbe auch für die Sonoff gilt, ist eine Kommunikation beider Geräte eben auch ohne Probleme möglich. Das hört sich nicht nur so einfach an, sondern ist es auch.
Ich habe aktuell fast 50 Sonoff Geräte am laufen mit mehrer Steuerungen die immer wieder hinzukamen. Meine Anfänge mit IOBroker waren mit Problemen gespikt. u.a. verlor ich ständig die Verbindung. Eine Umstellung auf IOBroker ist mir aktuell zu aufwendig, zumal ja alles mit Domoticz funktioniert.
Mit einem zusätzlichen Sonoff Basic hinter der DECT200 läßt sich meine derzeitige Aufgabe lösen.
Hintergrund ist meine Heizungssteuerung mit DECT200. Ich möchte dies nicht mit Sonoff machen wegen anderen zusätzlichen Abhängigkeiten. (Steuerung mit Schnurlostelefonen, Anwesenheitserkennung mit GEO etc.)
Aber gegen einen BASIC dazwischen spricht nichts und ist sehr einfach umzusetzen. Das einfachste ist oft schwierig zu finden
Danke für die Unterstüzung.
Die Heizungssteuerung mit dem DECT200? Was schaltest denn denn damit an der Heizung? Das ist doch nur ne Steckdose
Ja.
ich versuchs mal einfach zu erklären.
Die vorgesehene Schaltuhr, an der GAS Therme, habe ich deaktiviert. Den Kontakt dieser Uhr auf ein 220V Relais gelegt. Dieses wird mit der DECT200 geschaltet.
Die Steuerung der DECT200 erfolgt über mehrer Maßnahmen die das ganze für mich sehr komfortabel machen bis hin zu GEO Steuerung in Abhängigkeit zur Entfernung zu meiner Wohnung.
Weit weg > Heizung aus, bei Annäherung an.
In der Nähe Heizung bleibt an, COMET Dect Regler steuern die Temperatur der Heizkörper unterschiedlich.
Und in kürze, Steuerung zusätzlich nach Außentemeperatur.
Ah Ok, läuft bei mir genau so mit dem IOBroker. Script mit Blockly, Steuerung nach Schichtplan, Anwesenheit und Außentemperatur. War recht einfach und schnell umgesetzt, da IOBroker eben eh alles zur Verfügung stellt und man das nur noch mit Blockly irgendwie nach seinen Bedürfnissen verwurschtelt.
Hatte noch ein paar Flower Care Sensoren in den Blumentöpfen, die hab ich jetzt auch noch mit in die Steuerung eingebaut, somit läuft jetzt auch noch je nach Verteilung der Wärme oder Sonneneinstrahlung gleich der Deckenventilator an und sorgt für eine gleichmäßige Verteilung der Wärme
Spielt die ursprüngliche Fragestellung noch eine Rolle? Geht es noch um das Auslesen des Temperatur-Sensors mittels eines Bash-Skriptes. Dann würde dieser Weg gehen (Das Paket curl und jq müssen installiert sein):
temperatur=$(curl -s "http://IP.DES.Sonoff.GERÄT/cm?[user=admin&password=joker&]cmnd=status%2010")
#Beispiel von meinem TH10
#!/bin/bash
temperatur=$(curl -s "http://192.168.178.68/cm?cmnd=status%2010");
wert=$(echo $temperatur | jq ".[].AM2301.Temperature");
echo "Temperatur ist: "$wert;
#Mögliche Fortsetzung (Prinzip)
#Wenn $wert <15 dann Heizung an ( if ... then ... else)
Du bekommst als Antwort in der Variablen temperatur einen JSON-String, in dem es u. a. z. B. die Angabe "Temperature":4.8 gibt. Diesen String verarbeite ich mit jq weiter (pipe) sodass nur noch 4.8 übrig bleibt und der Variablen wert zugewiesen wird. Diese Variable kannst du dann benutzen, um einen anderen Vorgang per Bash-Skript auszulösen. Leider habe ich Moment nicht die Zeit das umzusetzen, sondern kann dir nur eine Richtung andeuten. Vielleicht hilft es dir schon weiter.
Ich habe eine andere Lösung, für das eigentliche Vorhaben, gefunden.
Dennoch bin ich sicher das Script in einem anderen Fall verwenden zu können, als DANKE.
Bin grad am testen deines Vorschlages.
Dazu zwei Fragen.
Kann ich mittels Blockly eine Zeitpause einbauen ?
Kann ich von Blockly aus ein Bash Script starten ?
Deine Variante mache ich mittels Power1 Abfrage da die Temp über Blockly leichter zu händeln geht,
Kann ich mittels Blockly eine Zeitpause einbauen ?
Blockly scheint ein wait oder sleep oder delay nicht zu kennen. Der Weg, der öfters vorgeschlagen wird, lautet:
Anlegen eines virtuellen Schalters
Den Schalter -> Bearbeiten und eine Einschaltverzögerung einrichten und über die http-Zeile den Einschaltbefehl per IP und nicht per DomoticzIdx steuern. Ob du an dieser Stelle auch ein bash-Skript aufrufen kannst, musst du ausprobieren aber wahrscheinlich geht nur LUA und/oder Python.
Kann ich von Blockly aus ein Bash Script starten ?
Da habe ich dieses entdeckt - aber nicht geprüft:
https://www.domoticz.com/forum/viewtopi…&p=92678#p92678
Hab's inzwischen überprüft - läuft!
Blockly:
Skript s20_on.sh:
#!/bin/bash
sleep 5;
curl -s "http://192.168.178.59/cm?cmnd=power1%201";
sleep 5;
curl -s "http://192.168.178.59/cm?cmnd=power1%200";
exit;
mit chmod +x s20_on.sh ausführbar machen.
Edit 2: ich danke dir für die Frage, die du aufgeworfen hast! Ganz neue Möglichkeiten tun sich da auf...
ok danke.
habe auch hier ein Problem
wert=$(echo $temperatur | jq ".[].AM2301.Temperature");
möchte aber eher status=$(curl -s "http://192.168.178.68/cm?cmnd=power1"); abfragen. als Antwort kommt.
{"POWER":"OFF"}
ich wollte mit iq nur OFF oder ON auswerten, klappt aber noch nicht.
ich wollte mit iq nur OFF oder ON auswerten, klappt aber noch nicht.
Aufpassen: jq ist case sensitive, also Groß- und Kleinschreibung beachten
Aufpassen(2): Bitte nur einfache Anführungen (Hochkomma) im jq-Filter verwenden, also Shift-# auf der deutschen Tastatur
-r sorgt dafür, dass die Anführungszeichen um ON oder OFF wegfallen
Gute Beispiel für jq hier:
Guckt dir nochmal meinen Beitrag #17 an. Ich habe da noch ein bisschen nachgelegt