Beiträge von ducis71

    Hallo, hier wie versprochen mein Script. Ich habe einen neuen Thread aufgemacht, weil es so für andere es besser auffindbar ist. Sicher nicht perfekt, aber es tut was es soll.

    ducis71
    12. März 2025 um 12:55

    Viele Grüße

    Hallo Leute,

    da mir hier im Forum schon gut geholfen wurde, möchte ich Euch das Ergebniss mal zeigen. Sicherlich von anderen schon 1000mal gemacht. Aber wer ein paar Anregungen dazu braucht, darf sich hier gerne bedienen.

    Ziel ist es einen Raum zu entfeuchten. Das geht am billigsten wenn trockenere Luft als sie drinnen ist von draußen nach drinnen gepumpt wird. Mit einem Lüfter. Das geht nur über einen Vergleich der Absoluten Luftfeuchtigkeit (ALF). Die Relative Luftfeuchtigkeit (RLF) ist dafür ungeeignet, da sie temperaturabhängig ist. Der DHT22 liefert RLF und Temperatur. Aber damit kann man ALF und , wers braucht, auch den Taupunkt berechnen. Letzteren braucht man für die Lüftersteuerung nicht. Ich nutze Näherungsformeln, die aber genauer als die Sensoren sind.

    Warum so viel Aufwand? Na ja. wenn auch recht selten, aber es gibt Fälle wo die Luft draußen feuchter ist als drinnen.

    Aufbau: Shelly 1PM mit Addon und DHT22. Das ganze 2x. Innenshelly und Aussenshelly. Es gibt auch Bluetoothsensoren dafür. Ich habe mich aber für die 2 Shellys mit Addon entschieden, da falls ich das Projekt in die Tonne haue, dann noch 2 Shellys zum Spielen habe.

    Beide Shellys laufen im gleichen Netzwerk. Wenn die Sensoren installiert sind, sollte man sie mindestens 1h nebeneinander betreiben und dann auf die gleichen Werte kalibrieren (mit dem Offset).

    Auf dem Innenshelly läuft das Script. Dieses schaltet aber beide Shellys. Es kann also an beiden ein Lüfter angeschlossen werden. Der Aussenshelly ist einfach nur da und liefert die Daten von draußen.

    Und hier mein Script:

    ducis

    Es sollte 2 Funktionen geben. Je eine zum Abfragen der Klimawerte drinnen und draußen. Wenn diese dann im Hauptprogramm vorliegen werden sie verarbeitet und eine eine Schaltung ausgeführt. Eine Raumentfeuchtung durch Belüftung wenn die Luft draußen trockener ist als drinnen.

    Alles in eine Funktion legen geht nicht, da es 2 calls ( für drinnen und draußen) gibt. Und die Werte jewils nur in den Callaufruf verfügbar sind.

    Mal anders gefragt: Was konkret willst du später mit den Werten machen, die du per Call von dem anderen Shelly liest?

    Vielleicht gibt es einen anderen Wert, diese Werte weiterzuverarbeiten, als das im Hauptprogramm zu machen.

    Wenns strukturiert werden soll, gehts nur so. Ich sammle Temp und rel.Luftfeuchtigkeit drinnen und draußen. Berechne dann die abs. Luftfeuchtigkeit und in Abhängigkeit weiter Parameter wird belüftet. Also eine Raumklimaregelung, wie sie sicher schon 1000x gemacht wurde. Nur ich bekomms nicht hin. :S

    Hallo,

    ich arbeite mich gerade in JS ein und hänge gerade fest.

    Ich habe eine function definiert. Die arbeitet auch, aber ich komme mit der Rückgabe der Werte ins Hauptprogramm nicht weiter.

    Ich bekomme zwar meine Werte auf die Konsole, möchte sie aber im Hauptprogramm weiterverarbeiten. Ich habe schon etliches mit return probiert, komme aber nicht weiter.

    Genau gefragt: Wie bekomme ich die 3 Aussenwerte ins Hauptprogramm?

    Vielen Dank für euere Hilfe

    Grüße

    Hallo,

    ich habe 2 Shelly plus 1PM mit Addon und DHT22 im Netzwerk. Zugriff, App etc alles OK.

    Wenn ich im Browser http://192.168.2.35/rpc/shelly.GetStatus eingebe bekomme ich den Json zurück. ok

    Jetzt im Script.


    Shelly.call("shelly.GetStatus" , null , function (result, error){
    print((result));
    print((error));
    });

    funktioniert auch. Das ist die Antwort von dem Shelly auf dem das Script auch läuft.

    Jetzt möchte ich auf einem Shelly (IP x.x.x.35) den Status des Anderen x.x.x.60) abholen. Das folgende script läuft auf dem x.x.x.35

    Shelly.call("http://192.168.2.60/rpc/Shelly.GetStatus" , null , function (result, error){
    print((result));
    print((error));
    });

    Anwort ist: undefined und Error 404.

    "http://192.168.2.60/rpc/Shelly.GetStatus" im Browser bringt den json File als Antwort. Aber warum funktioniert das nicht im Script?

    Bin irgendwie am Ende. Habt ihr neahnung wo der Fehler liegt?

    Grüße

    ducis