@aleks-83 Du kannst mit https://www.daswetter.at/api/#/login probieren. Das hat bei mir funktioniert. Dann in den URLs die du später bekommst kannst du in das Teil "api_lang=at" das "at" mit "de" oder "en" ersetzen. Hoffe es geht so.
NEWS

Best posts made by mrFenyx
-
RE: Adapter: DasWetter
-
RE: Liste mit Geräten und deren Auflösung für VIS
Samsung Galaxy S9
- ioBroker App (full screen)
- Hochformat: 360x740
- Querformat: 740x360
- Chrome, Firefox
- Hochformat: 360x612
- Querformat: 692x280
- Chrome Fullscreen
- Hochformat: 360x668
- Querformat: 692x336
- ioBroker App (full screen)
-
RE: [Neuer Adapter] SelveRF
@rintrium also bislang läuft es ganz gut. Habe eigentlich alle meine Rollladen Controlls in Vis zu den Datenpunkten von deinem Adapter gewechselt. Alles top! Falls sich etwas ändert oder nicht mehr geht, gebe ich dir bescheid.
Ich benutze nur commeo (keine iveo) und auch keine Sensoren also wenn du die implementierst müsste jemand anders diese testen.
Nochmal vielen Dank! Ich kann nun FHEM loswerden! Yipeee! -
RE: Adapter: DasWetter
@harrym hehe, ich habe das für die kommenden 5 Tage und stündlicher Infos. Hat alles da, current und tägliche Infos. Danke!
-
RE: [Gelöst] Probleme mit Vis nach Backup/Restore
@homoran said in Probleme mit Vis nach Backup/Restore:
auf windoof?
dort bearbeitet? oder auch nur geöffnet?yupp, Window$ aber nur gespeichert, nichts bearbeitet. Aber der Fix war tatsächlich in der Lösung der Verbindungsfehler! https://forum.iobroker.net/topic/56545/vis-probleme-verbindunsprobleme-gelöst
Es sind leider schon so viele Posts dazu dass ich mich in der Suche verlaufen hatte. Die "pure Websockets" Lösung hat alles gefixed! Danke @Glasfaser . -
RE: Test Adapter ioBroker.sainlogic v0.6.X GitHub/Latest
@w0rschd ja, ich habe es mit einen Workaround gelöst. Im Objekt Browser, öffne die Einstellungen für den State. Dann kannst du manuell bei "min" den Wert auf "-270000" setzen und dann speichern. Dann kommt die Fehlermeldung nicht mehr.
-
RE: Homematic IP Cloud Access Point Adapter
@Totto Das geht definitiv
Es ist aber eine Gruppenfunktion weshalb du es unter den Gruppen findest, nicht unter den einzelnen Thermostaten. Hier ein Beispiel:
hmip.0.groups.415a6d0a-b5c3-4776-87d0-913e8077ce19.boostMode
Ist der auf "False", heißt es Boost ist nicht an. Um es auszulösen einfach auf "True" setzen.
Hoffe das ist was du suchst. -
RE: ModBus Hilfe - Azzurro ZCS
Lösung
Hardware
Um die Daten ber ModBus zu lesen, braucht man eine physiskalische Verbindung zum Wechselrichter. Dafür muss man einen RS485 zu USB Adapter kaufen. Ich habe mehrere solche Adapter probiert und fast keiner davon funktioniert richtig, außer dem hier: https://smile.amazon.de/gp/product/B082D5PXJ4/.
Zusätzlich braucht man auch etwas, was die Daten dann zukünftig liest. Ich habe eine RaspberryPi dafür benutzt.
Als nächstes muss man die Verbindung zwischen dem Wechselrichter und dem RS485 Adapter machen. Das ist eigentlich das "schwierige" Teil, da bei dem Wechselrichter nur 2 Pins verfügbar sind und eine passende Klemme wird nicht mitgeliefert. Ich hatte zufällig etwas gefunden was mit ein bisschen "Handarbeit" gepasst hat. Den RS485 Port findest du beim WR auf der unteren Seite, wo auch alle anderen Kabel rauskommen.
Sobald die Verbindung physikalisch steht, kann man den Stick in der RasPi einstecken. Mit dem Befehl
lsusb
kann man dann prüfen ob der Stick erkannt wird. Es soll ein Gerät angezeigt, ähnlich wie dieser:Bus 001 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
.Software
Für einfaches, lokales Testen kann man das Tool mbpoll. Installation passiert dann laut Doku so:
wget -O- http://www.piduino.org/piduino-key.asc | sudo apt-key add - echo 'deb http://raspbian.piduino.org stretch piduino' | sudo tee /etc/apt/sources.list.d/piduino.list sudo apt update sudo apt install mbpoll
Da ich eigentlich nur dieses eine Gerät an den USB Ports des RasPis angebunden habe, hat es die Adresse
/dev/ttyUSB0
. Wenn mehrere USB Geräte verbunden sind, musst du herausfinden auf welche Adresse der RS485 Adapter läuft. Dann kann man sowas ausführen, um zu schauen ob alles läuft:mbpoll -m rtu /dev/ttyUSB0 -b 9600 -P none -r 531 -0 -1 -v
. Im besten Fall kommt dann ein Wert heraus und nicht eine Fehlermeldung. Leider funktioniert es bei mir so nicht zuverlässig (bin mir nicht sicher wieso und da ich es eigentlich nicht so benutzen würde, ist es mir eigentlich egal).Bei mir läuft ioBroker eigentlich auf einer anderen RasPi, die zu weit weg ist um die direkt am WR zu verbinden. Deswegen benutze ich auf dem RasPi dass am WR verbunden ist ein zusätzliches Tool, ein sogenanntes ModBus RTU to TCP Gateway. Die software heißt mbusd. Wie man es baut und installiert steht im Link, ist nicht so schwierig. Sobald die Installation durch ist, braucht man eine Config Datei. Ich benutze das hier:
# Serial port device name device = /dev/ttyUSB0 # Serial port speed (Folow on your PLC or Modbus Device config) speed = 9600 # Serial port mode (Folow on your PLC or Modbus Device config) mode = 8n1 # RS-485 data direction control type (addc, rts, sysfs_0, sysfs_1) trx_control = addc # Sysfs file to use to control data direction # trx_sysfile = ############# TCP port settings ############# # TCP server port number port = 502 # Maximum number of simultaneous TCP connections maxconn = 32 # Connection timeout value in seconds timeout = 60 ######### Request/response settings ######### # Maximum number of request retries retries = 3 # Pause between requests in milliseconds pause = 100 # Response wait time in milliseconds wait = 500
Die Datei soll man im Ordner
/etc/mbusd
alsmbusd-ttyUSB0.conf
speichern (oder wenn nicht ttyUSB0, dann die richtige Adresse / Serial Port). Dann kann man mbusd als Service aktivieren indem man dieses Befehl ausführt:systemctl enable mbusd@ttyUSB0.service
. Auch hier, ttyUSB0 mit der eigentlichen Adresse ersetzen, falls notwendig. Mit dem Befehljournalctl -u mbusd@<serial port>.service -f -n 10
kann man sehen was da gerade passiert, im besten fall, keine FehlerWenn das erstmal geht, dann kann man nochmal mbpoll ausprobieren
mbpoll localhost -r 531 -0 -1 -v
. Wenn alles richtig ist, dann bekommt man etwas ähnliches wie das hier:debug enabled Set device=localhost mbpoll 1.4-25 - FieldTalk(tm) Modbus(R) Master Simulator Copyright © 2015-2019 Pascal JEAN, https://github.com/epsilonrt/mbpoll This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; type 'mbpoll -w' for details. Connecting to [localhost]:502 Connecting to [localhost]:502 Set response timeout to 1 sec, 0 us Protocol configuration: Modbus TCP Slave configuration...: address = [1] start reference = 531, count = 1 Communication.........: localhost, port 502, t/o 1.00 s, poll rate 1000 ms Data type.............: 16-bit register, output (holding) register table -- Polling slave 1... [00][01][00][00][00][06][01][03][02][13][00][01] Waiting for a confirmation... <00><01><00><00><00><05><01><03><02><00><E1> [531]: 225
Noch eine wichtige Info die man zukünftig braucht ist die IP Adresse vom RasPi. Wenn man es nicht schon kennt dann bekommt man es über den Befehl
ifconfig
.Die richtige ModBus Adresse finden
Ein weiteres wichtiges Stück Info ist, wie man die Adressen aus der Dokumentation zu dem "übersetzt" was mbpoll, ioBroker oder ein anderer ModBus Master braucht. Wichtig sind hier 2 Sachen zu verstehen:
- die Adressen in der Anleitung sind im Hexadecimal eingetragen. Diese muss man zu Decimal konvertieren. Z.B habe ich die Adresse 0x0200 (Running State). 0x0200 in Decimal ist 512. Rechner finden man online, hier z.B. https://www.rapidtables.com/convert/number/hex-to-decimal.html
- bei ioBroker (und auch andere ModBus Master) spricht man die sogenannten "Holding Register" an indem man die Adresse die man vorher bekommen hat, 512, zu 40001 addiert. Also, um das "Running State" in ioBroker anzuzeigen, braucht man die Adresse 40513.
ioBroker Config
Nun zum spannenden Teil. In ioBroker braucht man den modbus adapter. Sobald dieser installiert ist und eine Instanz zur Konfiguration verfügbar ist, soll man diese ungefähr wie folgt konfigurieren:
Dann springt man zu den Holding Registers und fängt an, die einzelnen Adresse hinzuzufügen. Ich habe schon ziemlich viele schon bei mir hinzugefügt also teile ich diese gerne mit euch:
_address name description unit type len factor offset formula role room poll wp cw isScale 40513 operating_status Operating Status uint16be 1 1 0 value true false false false 40519 grid_voltage Grid Voltage V uint16be 1 0.1 0 value true false false false 40520 grid_current Grid Current A int16be 1 0.01 0 value true false false false 40525 grid_frequency Grid Frequency Hz uint16be 1 0.01 0 value true false false false 40526 batt_charge_discharge_power Battery Charge / Discharge Power W int16be 1 10 0 value true false false false 40527 batt_voltage Battery Voltage V uint16be 1 0.1 0 value true false false false 40528 batt_charge_discharge_current Battery Charge / Discharge Current A int16be 1 0.01 0 value true false false false 40529 batt_soc Battery Status of Charge % uint16be 1 1 0 value true false false false 40530 batt_temp Battery Temperature °C uint16be 1 1 0 value true false false false 40531 grid_power Grid Power: to Grid + / From Grid - W int16be 1 10 0 value true false false false 40532 load_power Household Consumption W uint16be 1 10 0 value true false false false 40533 batt_inverter_power Battery Inverter Power: Discharge + / Charge - W int16be 1 10 0 value true false false false 40534 pv_power_gen PV Generated Power W uint16be 1 10 0 value true false false false 40535 eps_output_voltage EPS Output Voltage V uint16be 1 0.1 0 value true false false false 40536 eps_output_power EPS Output Power kW uint16be 1 0.01 0 value true false false false 40537 daily_energy Daily Energy kW uint16be 1 0.01 0 value true false false false 40538 daily_energy_to_grid Daily Energy to Grid kW uint16be 1 0.01 0 value true false false false 40539 daily_energy_from_grid Daily Energy from Grid kW uint16be 1 0.01 0 value true false false false 40540 daily_energy_load Daily Energy Load kW uint32sw 2 0.01 0 value true false false false 40541 total_energy Total Energy kW uint32be 2 1 0 value true false false false 40543 total_energy_to_grid Total Energy to Grid kW uint32be 2 1 0 value true false false false 40545 total_energy_from_grid Total Energy from Grid kW uint32be 2 1 0 value true false false false 40547 total_energy_load Total Energy Load kW uint32be 2 1 0 value true false false false 40549 batt_daily_charge Daily Energy Charging Battery kW uint16be 1 0.01 0 value true false false false 40550 batt_daily_discharge Daily Energy Discharging Battery kW uint16be 1 0.01 0 value true false false false 40551 batt_total_charge Total Energy Charging Battery kW uint32be 2 1 0 value true false false false 40553 batt_total_discharge Total Energy Discharging Battery kW uint32be 2 1 0 value true false false false 40561 grid_voltage Grid Voltage V uint16be 1 0.1 0 value true false false false
Um diese zu importieren, hier drauf clicken und dann dort direkt einfügen:
Das war es schon. Ich hoffe das es hilft. Wenn es fragen dazu gibt, einfach reinschreiben
Latest posts made by mrFenyx
-
RE: JavaScript Fehlermeldung in Verbindung mit Alias Adapter
@paul53 ok, verstanden. Ändern kann ich es leider nicht leicht da ich echt viele Datensätze dann auch ändern soll. Ich lasse es also so, mindestens solange es funktioniert. Vielen Dank für die Aufklärung!
-
RE: JavaScript Fehlermeldung in Verbindung mit Alias Adapter
@paul53 danke, ja, könnte sein aber interessant ist, dass es eigentlich funktioniert.
-
JavaScript Fehlermeldung in Verbindung mit Alias Adapter
Systemdata Bitte Ausfüllen Hardwaresystem: Pi4 Arbeitsspeicher: 4GB Festplattenart: SD-Karte Betriebssystem: RPi OS Node-Version: 18.18.2 Nodejs-Version: 18.18.2 NPM-Version: 9.8.1 Installationsart: Skript Image genutzt: Nein Der JavaScript Adapter gibt den folgenden Fehler aus:
source in "alias.0.pv.load.total_energy" does not exist for "read" function: "JSON.parse(val).val"
Ich verstehe nicht wieso, was es bedeuten will. Die Alias-Read Funktion
JSON.parse(val).val
tut was es tun soll und die Werte werden korrekt verarbeitet und angezeigt. Das JSON dass verarbeitet wird sieht so aus:{"val": 720, "unit": "W"}
und es wird hier gespeichert:mqtt-client.0.solar.load.total_energy
, was auch die Alias ID vonalias.0.pv.load.total_energy
ist.
Was könnte hier das Problem denn sein oder einfach ignorieren? -
RE: Kunststoff 3D-Druck, macht wer sowas gegen €?
@michl75 was genau soll gedruckt werden? so wie ich es verstehe, gibt es noch kein Design, oder? Also jemand muss das "ganze" entwerfen, dann ausdrucken und per Post an dich schicken. Sowas wird nicht billig sein
Wenn du mir erklären kannst, was genau du drucken willst, am besten mit einer Skizze mit Maßangaben, kann ich es versuchen. Schreib mir gerne per PN.
-
RE: ModBus Hilfe - Azzurro ZCS
@schwabe_ch das Logo ist bei mir immer an, wenn ich Daten richtig bekomme. Ich habe mir auch Skript gebaut dass mir eine Nachricht schickt jedes mal wo es kein Empfang mehr gibt und dann, in 100% der Fälle ist das Symbol weg (wie gesagt, alle 2-3 Monate).
-
RE: ModBus Hilfe - Azzurro ZCS
@schwabe_ch said in ModBus Hilfe - Azzurro ZCS:
Irgend eine andere Idee wie ich z.B. die Abfrage optimieren könnte um das Fenster 20 Sek. z.B. in einer Schleife bzw. Zeitverzögerung zu erwischen?
Kannst versuchen alle 10-15 Sekunden eine Abfrage zu machen. Dann werden die meisten fehlschlagen aber es kommen auch Daten. Das ist aber nicht normal. Zum Azzurro Support, ja, die sind absolut nicht hilfreich, leider.
-
RE: ModBus Hilfe - Azzurro ZCS
@snowboarder2611 said in ModBus Hilfe - Azzurro ZCS:
ERROR CRC received 0x190 != CRC calculated 0x4C00
Read output (holding) register failed: Invalid CRCGenau sowas hatte ich auch ständig bekommen aber das gute daran ist, das bedeutet auch dass die Daten "irgendwie" kommuniziert werden. Ich würde dir auch raten, mbusd zu benutzen. Dann kommen keine Fehlermeldungen mehr und du kannst auch direkt die Daten per ModbusTCP von woanders einfach lesen.
-
RE: ModBus Hilfe - Azzurro ZCS
@schwabe_ch also leider habe ich auch manchmal das Problem dass das RS485 Logo nicht mehr im Display vom Inverter angezeigt wird. Wenn das passiert, dann schickt es tatsächlich keine Daten mehr - bei mir passiert das aber extrem selten, vielleicht einmal alle 2-3 Monate. Die einzige Lösung die ich dafür bis jetzt habe, ist am Inverter in die Einstellungen zu gehen, zu Kommunikation und dort alle einzelne Einstellungen einmal öffnen und bestätigen (also Port, Baud Rate, Stop bit, etc.) - nichts ändern, nur öffnen und bestätigen. Dann kommt das Logo wieder im Display an und die Daten gehen zur Raspi.
Wegen mbpoll, wie schon vorher gesagt, ich bekomme fast nie Daten wenn ich diese direkt per ModbusRTU anfrage, also quasi /dev/... benutze. Es funktioniert aber 99,9% richtig wenn ich mit mbusd das in ModbusTCP "konvertiere" und dann localhost:502 benutze. -
RE: ModBus Hilfe - Azzurro ZCS
@schwabe_ch Hier die
/etc/mbusd/mbusd-ttyUSB0.conf
bei mir (ownership ist root:root):
So wie ich die Fehlermeldung lese, kann es dein USB - Serial Gerät nicht finden. Was sagt das Befehl
ls /dev/*USB*
? -
RE: Lay-Z-Spa Wifi Control
@mrfenyx said in Lay-Z-Spa Wifi Control:
Hi zusammen,
ich habe die States in ioBroker reinbekommen aber ich kann leider keine Befehle rausschicken. Ich bekomme die FehlermeldungState "mqtt-client.0.layzspa.command" not found
- der existiert tatsächlich nicht. Soll ich es per Hand erstellen oder habe ich etwas falsch gemacht? Ich benutze auch "nur" das mqtt-client, nicht das mqtt Adapter aber damit, denke ich, sollte es nicht zu tun haben, oder?
Danke!UPDATE:
tatsächlich muss man das mqtt Adapter benutzen, dann gibt es auch /command. Das Problem dass ich nun habe ist mit das setzen von AMBC. Ich habe das folgende Szenario:- die Außentemperatur ist durch die Weboberfläche auf 25°C gesetzt
- in ioBroker sehe ich diesen Wert:
- nun versuche ich diesen Wert manuell auf 30 zu setzen
- tatsächlicher Wert was dann gesetzt wird ist -1
- ich ändere es wieder auf 25°C in der Weboberfläche was in ioBroker übernommen wird.
- ich versuche es dann in ioBroker auf 86 zu ändern
- gesetzter Wert ist dann 25
Das führt mich dazu zu glauben dass der AMBC der gesetzt wird, eigentlich der AMBF (also in Fahrenheit) ist. Weiß jemand was man ändern muss, um den Wert in °C zu setzen?
Danke!
UPDATE:
man muss hier das CMD auf 15 setzen, nicht 14:case 'AMBC': setStateAsync('mqtt.'+ MQTTINSTANCE+'.layzspa.command','{"CMD":15,"VALUE":'+ value +',"XTIME":0,"INTERVAL":0}') log('change ambient temp. to '+ value); break;
14 = °F und 15 = °C