Einbinden von WH3000 SE WiFi Wetterstation und kompatible

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Benutzeravatar
lolli
Beiträge: 60
Registriert: 28.10.2014, 10:54
Danksagung erhalten: 7 Mal

Re: Einbinden von WH3000 SE WiFi Wetterstation und kompatible

Beitrag von lolli » 01.03.2021, 12:16

Danke, Danke, Danke.

By the way, natürlich kann man die Seite auch direkt aufrufen "ccu.../addons/myAddons/ZZ_fav.html" dann ist der Hintergrund weiss ;) und nicht im HM-Look. Wer das zB. direkt auf einem Tablet etc. anzeigen möchte ;)

Gruß
lolli

tromanski
Beiträge: 13
Registriert: 12.01.2020, 16:13

Re: Einbinden von WH3000 SE WiFi Wetterstation und kompatible

Beitrag von tromanski » 08.04.2021, 22:47

Ich hätte da noch eine Frage:
Ich möchte die Werte aktuell noch nicht speichern, weshalb ich die Datei myWeather.ini nicht angelegt habe. Trotzdem wird auf der CCU eine Datei mySysvars_04_2021.csv angelegt und mit Daten gefüttert. Was mache ich falsch?

Gruß

Xel66
Beiträge: 14085
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 580 Mal
Danksagung erhalten: 1492 Mal

Re: Einbinden von WH3000 SE WiFi Wetterstation und kompatible

Beitrag von Xel66 » 08.04.2021, 23:24

tromanski hat geschrieben:
08.04.2021, 22:47
Was mache ich falsch?
Den zweiten Absatz in diesem Posting beachtet?

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Benutzeravatar
lolli
Beiträge: 60
Registriert: 28.10.2014, 10:54
Danksagung erhalten: 7 Mal

Re: Einbinden von WH3000 SE WiFi Wetterstation und kompatible

Beitrag von lolli » 11.04.2021, 11:03

Hmm,

keine Ahnung was das sein könnte.
Ich habe mal die Klammerung des Tabellenschreibprogramms geändert.

try this ;)

Gruß
Dateianhänge
myW_tabelle.zip
(820 Bytes) 51-mal heruntergeladen

tromanski
Beiträge: 13
Registriert: 12.01.2020, 16:13

Re: Einbinden von WH3000 SE WiFi Wetterstation und kompatible

Beitrag von tromanski » 11.04.2021, 18:12

Vielen Dank für eure Hinweise.
Ich habe jedoch versehentlich die falsche Version es Skripts hochgeladen ... Somit hat sich das erledigt.

Nun habe ich jedoch leider ein weiteres Problem.
Ich habe das "Widget" nach Anleitung installiert, jedoch werden die Werte nicht aktualisiert (siehe Anhang).
Die Einbindung in die Favoriten hat geklappt und es wird auch das Widget gezeigt. Ich habe statt "rccu" die IP-Adresse eingegeben. Das sollte ja kein Problem sein oder?

Woran könnte das liegen?

Danke schonmal im Voraus für eure Hilfe
Dateianhänge
Screenshot 2021-04-11 180851.png

Benutzeravatar
lolli
Beiträge: 60
Registriert: 28.10.2014, 10:54
Danksagung erhalten: 7 Mal

Re: Einbinden von WH3000 SE WiFi Wetterstation und kompatible

Beitrag von lolli » 12.04.2021, 09:24

Hi tromanski,

rufe mal im Browser folgendes auf: http://deineip/addons/myAddons/sendvars.cgi

Nun müsste dein Browser eine Zeile mit den Daten anzeigen.
Javascript ist ja aktiv sonst würde die GUI ja auch nicht funktionieren...

Welchen Browser benutzt du? Kann sein das meine HTTP-Request Funktion für deinen Browser nicht funzt.
Diese, in der ZZ_fav.html - Datei, muss für deinen Browser angepasst werden:

function loadDoc(url, cFunction) {
var xhttp;
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
cFunction(this);
}
};
xhttp.open("GET", url, true);
xhttp.send();
}

Ich habe nicht alle Browser getestet, hab ich ja für mich programmiert ;)

Gruß
lolli

tromanski
Beiträge: 13
Registriert: 12.01.2020, 16:13

Re: Einbinden von WH3000 SE WiFi Wetterstation und kompatible

Beitrag von tromanski » 12.04.2021, 19:55

Hallo lolli,

beim Eingeben von http://deineip/addons/myAddons/sendvars.cgi kommt als Ausgabe lediglich:
urlaub=
Das scheint mir schon zu wenig zu sein...

Ich verwende Chrome als Browser. Aber auch Edge oder Microsoft Internet Explorer bringen das selbe Ergebnis.

Tut mir leid, wenn ich so unwissend frage. Aber was müsste ich denn an der function loadDoc(url, cFunction) ändern?
Was dort ist Browser Spezifisch? Kann ich das irgendwo nachlesen?

Gruß
tromanski

Benutzeravatar
lolli
Beiträge: 60
Registriert: 28.10.2014, 10:54
Danksagung erhalten: 7 Mal

Re: Einbinden von WH3000 SE WiFi Wetterstation und kompatible

Beitrag von lolli » 12.04.2021, 21:08

Ok,
jetzt gibt es ein Bild ;)

Die gute Nachricht 8)
Die Zeilen des HTTP-Request musst Du nicht ändern!! Die funktionieren.

Die schlechte Nachricht :? --- Das Script bricht ab, da es einige Systemvariablen nicht kennt!

-die Zeilen mit dem Write ....

Code: Alles auswählen

#!/usr/bin/env tclsh
load tclrega.so

set wert 0
catch {
  set input $env(QUERY_STRING)
  set pairs [split $input &]
  foreach pair $pairs {
    if {0 != [regexp "^(\[^=]*)=(.*)$" $pair dummy varname val]} {
      set $varname $val  
#      puts "key: $varname     value:$val"    
    }    
  }
}

set comm {
Write('urlaub=' # dom.GetObject('_Kalf_Urlaub').State() # ';');
Write('muell=' # dom.GetObject('Muell').State() # ';');
Write('feier=' # dom.GetObject('_Kalf_Feiertag_heute').State() # ';');
Write('bruec=' # dom.GetObject('_Kalf_Feiertag_Brueckentag').State() # ';');
Write('azim=' # dom.GetObject('_W_Azimut').State() # ';');
Write('elev=' # dom.GetObject('_W_Elevation').State() # ';');
Write('strah=' # dom.GetObject('_W_EinstrahlungAV').State() # ';');
Write('windr=' # dom.GetObject('_W_Windrichtung').State() # ';');
Write('winds=' # dom.GetObject('_W_Windgesch').State() # ';');
Write('regent=' # dom.GetObject('_W_NiederschlagMonat').State() # ';');
Write('atemp=' # dom.GetObject('_W_TempAussen').State() # ';');
Write('ahumi=' # dom.GetObject('_W_LuftfeuchteAussen').State() # ';');
Write('pres=' # dom.GetObject('_W_Luftdruck').State() # ';');
Write('itemp=' # dom.GetObject('HmIP-RF.110A99496666D5:1.ACTUAL_TEMPERATURE').State() # ';');
Write('ihumi=' # dom.GetObject('HmIP-RF.110A99496666D5:1.HUMIDITY').State() # ';');
Write('atime=' # dom.GetObject("_F_Aktienkurse").Timestamp().ToString("Kurse Stand: %H:%M Uhr") # ';');
Write('akurs=' # dom.GetObject("_F_Aktienkurse").State() # ';');
}

array set res [rega_script $comm]
puts $res(STDOUT)
lösche im cgi-Script die Zeilen mit den Systemvariablen die du nicht hast oder erstelle diese ;)

_Kalf_Urlaub = Wert 0 kein Urlaub, 1 Urlaub aber zu Hause, 2 Urlaub außer Haus (also weg von zu Hause ;) ) . Google Kalender Abfrage.
Muell = welcher Müll muss rausgestellt werden / wird abgeholt. Enthält die Systemvar der Teilstring "Restm" so wird bei uns der Restmüll (schwarze Tonne) und der Wertstoff abgeholt (gelber Sack)
enthält die Systemvar den Teilstring "Papier", kommt bei uns die blaue (Papier) und die grüne (Biomüll) Tonne raus. Die Daten lade ich zu Beginn des Jahres aus dem lokalen Müllkalender herunter und schaue dann täglich was kommt - anderes Programm ;)

_Kalf_Feiertag_heute und _Kalf_Feiertag_Brueckentag werden berechnet für die Heizungsteuerung.
Brueckentag ist eins wenn aktuell Montag ist und Dienstag ein Feiertag ist oder wenn Freitag ist und Donnerstag ein Feiertag war - ich habe in der Regel an Brückentagen frei ;) ebenfalls ein anderes Programm.



In den Zeilen mit der "itemp" und "ihumi" ist das HMIP-Wandthermostat eingetragen, falls du eines hast muss hier deine Gerätenummer rein. Hast ein "normales" HM-Wandthermostat oder Heizungsregler muss dann dies hier "BidCos-RF.NUMMERdesSENSORS:KanalNr." eingetragen werden - der Temperatur-Datenpunkt heißt dann TEMPERATURE.

Oder ersetze die Zeile "Write('itemp=' # dom.GetObject('HmIP-RF.110A99496666D5:1.ACTUAL_TEMPERATURE').State() # ';');"
durch Write('itemp=' # dom.GetObject('_W_TempInnen').State() # ';');
das ist die Innentemperatur der Wetterstation
und die Zeile "Write('ihumi=' # dom.GetObject('HmIP-RF.110A99496666D5:1.HUMIDITY').State() # ';');"
durch Write('ihumi=' # dom.GetObject('_W_LuftfeuchteInnen').State() # ';');

Die Zeilen mit den Aktien einfach löschen :shock: oder es wird halt nix richtiges angezeigt.

Wenn du dein Script testen möchtest, dann markiere die Zeilen mit den Write's kopiere diese und füge sie in der WebUI unter "Programme und Verknüpfungen" -> "Script testen" ein und dann "ausführen" dort wird dann der zu sendende String ausgegeben.

Zu Deiner Frage, ja kann man nachlesen - Tante Google Javascript HTTP-Request - die MS Browser hatten einen andern Objektnamen :?:


Viel Spaß beim Tüfteln :mrgreen:
lolli
Zuletzt geändert von lolli am 13.04.2021, 20:32, insgesamt 1-mal geändert.

Benutzeravatar
chianti2000
Beiträge: 132
Registriert: 12.08.2017, 17:15
System: CCU
Wohnort: Leipzig
Hat sich bedankt: 49 Mal
Danksagung erhalten: 13 Mal

Re: Einbinden von WH3000 SE WiFi Wetterstation und kompatible

Beitrag von chianti2000 » 12.04.2021, 21:50

Hi lolli,
lolli hat geschrieben:
12.04.2021, 21:08

_Kalf_Urlaub = Wert 0 kein Urlaub, 1 Urlaub aber zu Hause, 2 Urlaub außer Haus (also weg von zu Hause ;) ) . Google Kalender Abfrage.
Muell = welcher Müll muss rausgestellt werden / wird abgeholt. Enthält die Systemvar der Teilstring "Restm" so wird bei uns der Restmüll (schwarze Tonne) und der Wertstoff abgeholt (gelber Sack)
enthält die Systemvar den Teilstring "Papier", kommt bei uns die blaue (Papier) und die grüne (Biomüll) Tonne raus. Die Daten lade ich zu Beginn des Jahres aus dem lokalen Müllkalender herunter und schaue dann täglich was kommt - anderes Programm ;)
Welche andere Programme (bzw. aus welchem Treat) nutzt du hierfür? :?: :wink:
VG Gerd

Benutzeravatar
lolli
Beiträge: 60
Registriert: 28.10.2014, 10:54
Danksagung erhalten: 7 Mal

Re: Einbinden von WH3000 SE WiFi Wetterstation und kompatible

Beitrag von lolli » 13.04.2021, 09:01

Hi Gerd,
nix von der Stange alles für meine Bedürfnisse zusammen gestrickt, andere würden schreiben programmiert ;)
Was interessiert dich denn? Können ja dafür einen neuen Faden aufmachen.

Gruß
lolli

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“