Seite 2 von 3

Re: CAN Interface in Docker Container verfügbar machen

Verfasst: Mi Feb 20, 2019 1:21 pm
von jockele
super, danke, dann warte ich mal ab

Re: Re: CAN Interface in Docker Container verfügbar machen

Verfasst: Fr Dez 27, 2019 8:51 am
von jockele
Frage an @James_T_Kirk ,

hast Du das pyhpsu auf Docker (Portainer) am laufen auf dem TWS?
Ich bekomme das leider nicht hin, kannst du evtl,mal beschreiben wie Du das zum laufen gebracht hast?

Re: Re: CAN Interface in Docker Container verfügbar machen

Verfasst: Fr Dez 27, 2019 1:56 pm
von James_T_Kirk
Nein, läuft weiter auf dem Raspi da auf dem TW das CAN Interface nicht zur Verfügung steht. Leider war der CAN Zugriff seitens Elabnet wohl so nicht geplant (wieso schreibt man es dann als Feautre auf?), daher wird da wohl auch wenig kommen. Siehe auch hier: viewtopic.php?f=9&t=614

Re: Re: CAN Interface in Docker Container verfügbar machen

Verfasst: Mo Jan 06, 2020 12:14 pm
von jockele
Hallo,

habe über die Feiertage jetzt das pyHPSU als Docker auf dem TWS zum laufen gebracht, erste Werte kann ich auslesen, d.h. grundsätzlich funktioniert die Kommunikation, wenn auch teilweise noch mit Fehlermeldungen.

Jetzt würde ich gerne diverse Werte automatisiert auslesen und dann an Edomi zur Visualisierung und Auswertung übergeben.
Für mein laienhaftes Verständnis bräuchte ich dafür openhab oder FHEM als "Zwischenstation", liege ich in der Annahme richtig oder geht das auch einfacher?

Re: Re: CAN Interface in Docker Container verfügbar machen

Verfasst: Mo Jan 06, 2020 5:47 pm
von gbglace
Wenn es in Richtug EDOMI geht kannst mit PHP Kenntnissen auch selbst was programmieren, wenn es woanders hingehen soll wie z.B. in den TWS, dann brauchst einen Intermediär der das gelesene auf KNX übersetzt.

Re: Re: CAN Interface in Docker Container verfügbar machen

Verfasst: Mo Jan 06, 2020 8:16 pm
von jockele
Programmierkenntnisse habe ich leider keine, denke daher fällt für mich die PHP-Variante raus.
KNX könnte man ja aber umgehen und das Ganze per openhab und z.B. MQTT nach Edomi schicken? Oder habe ich da was falsch verstanden bei der Recherche?

Re: Re: CAN Interface in Docker Container verfügbar machen

Verfasst: Mo Jan 06, 2020 9:23 pm
von James_T_Kirk
Wie hast du den CAN Bus angebunden? Vermutlich per USB Adapter? Über den CAN Bus am TWS ja vermutlich nicht.

Senden kannst du die Werte nicht direkt an den KNX Bus. Entweder per MQTT, openhab oder FHEM. Die openhab Anbindung in pyHPSU kommt von mir, sporadisch gibt es aber noch Probleme mit dem Datentyp. Derzeit nutze ich ein Shellscript welches per Cron getriggert wird. Das ruft pyHPSU auf, gibt die Werte per JSON aus. Das wird dann an eine URL as Parameter gehangen und per GET an die openhab REST API an ein Item gesendet. In openhab habe ich eine Rule, welches bei Update dieses Items den JSON String zerlegt und damit die eigentlichen Items befüllt. Die senden dann die Werte an den KNX Bus. So zeichnet sie der TWS auch wieder in die TS auf. Kann ich mal zur Verfügung stellen falls es hilft. Mit Node Red sollte sich sowas auch realisieren lassen.

Was hast du für Fehlermeldungen? Wenn du den USB Adapter nutzt, dann hast du eine serielle Verbindung. Es muss also alles sauber nacheinander erfolgen. Je nachdem in welchem Modus du pyHPSU nutzt können sich verschiedene Abfragen in die Quere kommen. Das ist das schöne am SocketCAN - hier kümmert sich der Linux Kernel darum das es sauber läuft. Ach ja, evtl. hilft es die Polling Zeit herunter zu nehmen. Ich hole wie gesagt mit einem befehl mehrere Werte einmal alle 60s ab. Im Auto Modus und mit 10s Zyklen hatte ich auch sporadische Fehler.

Re: Re: CAN Interface in Docker Container verfügbar machen

Verfasst: Di Jan 07, 2020 6:41 am
von jockele
danke erstmal für die ausführliche Antwort.
Angebunden ist das Ganze per USB-Adapter, wie auch auf der Projektseite empfohlen, Docker läuft auf dem TWS2500. Nach längerem rumprobieren konnte ich zumindest einzelne Werte lesen, d.h. grundsätzlich funktioniert schon mal die Kommunikation.
Im nächsten Schritt wollte ich dann das automatische Skript testen (-a), dabei kam dann folgende Meldung raus mit der ich leider nicht allzu viel anfangen kann:

root@791c354835fc:/# pyHPSU.py -a
warning - retry 1 command t_hc_set
error - Error sending AT PP 2F ON (rc:OK>OK)
error - Error sending AT PP 2F ON (rc:OK>OK)
error - Error sending AT PP 2F ON (rc:OK>OK)
error - Error sending AT PP 2F ON (rc:OK>OK)
error - Error sending AT PP 2F ON (rc:OK>OK)
warning - Error setting ID 310 (rc:)
error - Error sending AT PP 2F ON (rc:OK>OK)
error - Error sending AT PP 2F ON (rc:OK>OK)
warning - retry 2 command t_hc_set
error - Error sending AT PP 2F ON (rc:OK>OK)
error - Error sending AT PP 2F ON (rc:OK>OK)
error - Error sending AT PP 2F ON (rc:OK>OK)
error - Error sending AT PP 2F ON (rc:OK>OK)
error - Error sending AT PP 2F ON (rc:OK>OK)
error - Error sending AT PP 2F ON (rc:OK>OK)
[{'resp': '27.70', 'name': 't_hc_set', 'timestamp': 1578154984.210704}, {'resp': '28.30', 'name': 't_hs', 'timestamp': 1578154986.315898}, {'resp': '832', 'name': 'flow_rate', 'timestamp': 1578154988.420995}]
error - Error sending AT PP 2F ON (rc:OK>OK)
error - Error sending AT PP 2F ON (rc:OK>OK)
error - can adapter not responding: (rc:OK>OK)

Wie beschrieben habe ich leider keinerlei Programmierkenntnisse, daher bräuchte ich was vorgefertigtes. Wie schwerwiegend sind denn die sporadischen Fehler in openhab?

Re: Re: CAN Interface in Docker Container verfügbar machen

Verfasst: Di Jan 07, 2020 6:00 pm
von James_T_Kirk
In welchen Abständen pollst du denn?

Versuche mal das als Kommando auszuführen (Console per portainer öffnen), klappt es damit ohne Fehler?

Code: Alles auswählen

python3 pyHPSU.py -d ELM327 -p /dev/zu-deinem-usb -c qboh -c qchhp -c qsc -c qch -c qwp -c qdhw -c runtime_comp -c runtime_pump  -c flow_rate -c mode -c bpv -c posmix -c t_v1 -c t_dhw1 -c tdhw2 -c t_vbh -c tvbh2 -c t_r1 -c tliq2 -c t_hs -c ehs -c pump -c t_ext -c status_pump -c ext -c t_return -c v1 -c t_dhw_setpoint1 -c t_hs_set -l IT

Re: Re: CAN Interface in Docker Container verfügbar machen

Verfasst: Di Jan 07, 2020 8:31 pm
von jockele
bisher habe ich nur einzelne Werte abgerufen um zu testen, bei Abruf mit "pyHPSU.py -a" kam dann der Output aus Post #18.
Geändert habe ich lediglich die Parameter für den Adapter in der pyhpsu.conf , ansonsten alles belassen wie im Originalfile von dockerhub. Mit den Fehlermeldungen kann ich halt leider gar nichts anfangen.

Ohne das python3 zu Beginn bekomme ich einen Großteil der Daten raus, so konnte ich bisher auch einzelne Werte abrufen.
Anbei der output:

Code: Alles auswählen

root@791c354835fc:/# pyHPSU.py -d ELM327 -p /var/husky/devices/FTDI_FT232R_USB_UART_A52VL4UF -c qboh -c qchhp -c qsc -c qwp -c qdhw -c runtime_comp -c runtime_pump  -c flow_rate -c mode -c bpv -c posmix -c t_v1 -c t_dhw1 -c tdhw2 -c-c tvbh2 -c t_r1 -c tliq2 -c t_hs -c ehs -c pump -c t_ext -c status_pump -c ext -c t_return -c v1 -c t_dhw_setpoint1s_set -l IT
warning - sending cmd 61 00 FA 0A 0C 00 00 (rc:NO DATA)
warning - retry 1 command t_ext
[{'resp': '915', 'name': 'runtime_comp', 'timestamp': 1578425148.915192}, {'resp': '1422', 'name': 'flow_rate', 'timestamp': 1578425151.01958}, {'resp': '3219', 'name': 'qwp', 'timestamp': 1578425153.124299}, {'resp': '24.50', 'name': 'tvbh2', 'timestamp': 1578425155.228417}, {'resp': '2009', 'name': 'qch', 'timestamp': 1578425157.333084}, {'resp': '0', 'name': 'ehs', 'timestamp': 1578425159.437224}, {'resp': '1258', 'name': 'qdhw', 'timestamp': 1578425161.541251}, {'resp': '48.00', 'name': 't_dhw_setpoint1', 'timestamp': 1578425163.645446}, {'resp': '47.50', 'name': 't_dhw1', 'timestamp': 1578425165.7509}, {'resp': '4', 'name': 'qchhp', 'timestamp': 1578425167.857032}, {'resp': '28.20', 'name': 't_hs_set', 'timestamp': 1578425169.961481}, {'resp': 80, 'name': 'pump', 'timestamp': 1578425172.066886},{'resp': '48.00', 'name': 'tdhw2', 'timestamp': 1578425174.171636}, {'resp': '1', 'name': 'status_pump', 'timestamp': 1578425176.275985}, {'resp': 0, 'name': 'bpv', 'timestamp': 1578425178.380121}, {'resp': '25.00', 'name': 'tliq2', 'timestamp': 1578425180.484365}, {'resp': '0', 'name': 'qsc', 'timestamp': 1578425182.589373}, {'resp': 0, 'name':'posmix', 'timestamp': 1578425184.69439}, {'resp': '24.50', 'name': 't_vbh', 'timestamp': 1578425186.799285}, {'resp': '25.50', 'name': 't_v1', 'timestamp': 1578425188.905027}, {'resp': '47', 'name': 'qboh', 'timestamp': 1578425191.009276}, {'resp': '3.50', 'name': 't_ext', 'timestamp': 1578425200.39512}, {'resp': '0', 'name': 'ext', 'timestamp': 1578425202.500134}, {'resp': '1414', 'name': 'v1', 'timestamp': 1578425204.604783}, {'resp': '1605', 'name': 'runtime_pump', 'timestamp': 1578425206.708875}, {'resp': '24.40', 'name': 't_return', 'timestamp': 1578425208.813139}, {'resp': '25.50', 'name': 't_hs', 'timestamp': 1578425210.917484}, {'resp': '0', 'name': 'mode', 'timestamp': 1578425213.022715}, {'resp': '24.40', 'name': 't_r1', 'timestamp': 1578425215.127283}]