hardware:channels:heating_control:gastherme_junkers_can_bus
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
hardware:channels:heating_control:gastherme_junkers_can_bus [2023/09/13 13:19] – Adernbelegung dokumentiert trabant | hardware:channels:heating_control:gastherme_junkers_can_bus [2024/01/09 19:45] (aktuell) – Korrektur Ausgabe Aussentemperatur zw. -1 und 1 trabant | ||
---|---|---|---|
Zeile 32: | Zeile 32: | ||
</ | </ | ||
- | Im nächsten Schritt die Clientprogramme, | + | Im nächsten Schritt die Clientprogramme |
< | < | ||
- | apt-get install can-utils | + | apt-get install can-utils |
</ | </ | ||
Zeile 53: | Zeile 53: | ||
</ | </ | ||
sollte nun die eingehenden Datenpakete ausgeben, die nun anhand dieser | sollte nun die eingehenden Datenpakete ausgeben, die nun anhand dieser | ||
- | {{: | + | {{: |
- | ausgewertet und via Skript an die VZ [[software: | + | ausgewertet und via Skript an die VZ [[software: |
+ | |||
+ | Im Header werden dazu alle Werte mit Can-ID ('' | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | Die Variable '' | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Das Skript sollte die Werte des BM1 und des TA/TR, soweit sie in der Tabelle auch enthalten sind, dann korrekt umrechnen. Die im Skript bereits eingetragenen Werte sind Beispiele aus dem Anwendungsfall des Autors. | ||
<code shell canlogger.sh> | <code shell canlogger.sh> | ||
#!/bin/bash | #!/bin/bash | ||
- | # canlogger.sh | + | # canlogger.sh |
# calling the script with " | # calling the script with " | ||
Zeile 65: | Zeile 75: | ||
case " | case " | ||
test) | test) | ||
- | echo "CAN Logger | + | echo "CAN Logger |
;; | ;; | ||
prod) | prod) | ||
- | echo "CAN Logger | + | echo "CAN Logger |
;; | ;; | ||
Zeile 106: | Zeile 116: | ||
HUMAN_INFO[7]=" | HUMAN_INFO[7]=" | ||
VZ_UUIDFOR[7]=" | VZ_UUIDFOR[7]=" | ||
- | CANDUMP_IN[8]=" | + | CANDUMP_IN[8]=" |
- | HUMAN_INFO[8]=" | + | HUMAN_INFO[8]=" |
+ | VZ_UUIDFOR[8]=" | ||
+ | CANDUMP_IN[9]=" | ||
+ | HUMAN_INFO[9]=" | ||
VZ_UUIDFORBS=" | VZ_UUIDFORBS=" | ||
- | typeset -i MAXP=8 | + | typeset -i MAXP=9 |
typeset -i P=1 | typeset -i P=1 | ||
typeset -i BR=0 | typeset -i BR=0 | ||
Zeile 122: | Zeile 135: | ||
if [[ "$( echo -e " | if [[ "$( echo -e " | ||
then | then | ||
- | HEXCODE=" | + | HEXCODE=" |
DECVAL=" | DECVAL=" | ||
if [[ ( " | if [[ ( " | ||
Zeile 134: | Zeile 147: | ||
then | then | ||
FC=${HEXCODE} | FC=${HEXCODE} | ||
- | echo "Hilfe! Fehlercode | + | echo "Anlage prüfen: Fehler |
fi | fi | ||
;; | ;; | ||
esac | esac | ||
break | break | ||
- | elif [[ ( " | + | elif [[ '[20A, |
- | then | + | |
- | VALUE="$( echo " | + | |
- | elif [[ ( " | + | |
then | then | ||
VALUE=${DECVAL} | VALUE=${DECVAL} | ||
Zeile 156: | Zeile 166: | ||
;; | ;; | ||
prod) | prod) | ||
- | | + | |
- | if [[ ! ${R_BS} == *rows*1* ]] | + | if [[ ! ${RESPONSE} == *rows*1* ]] |
then | then | ||
- | echo "Error posting to Middleware: ${R_BS}" | + | echo "Error posting to Middleware: ${RESPONSE}" |
fi | fi | ||
;; | ;; | ||
Zeile 167: | Zeile 177: | ||
BR=0 | BR=0 | ||
fi | fi | ||
+ | elif [[ ( " | ||
+ | then | ||
+ | VALUE=" | ||
+ | elif [[ ( " | ||
+ | then | ||
+ | [[ ${HEXCODE} =~ ^F...$ ]] && DECVAL=" | ||
+ | VALUE=" | ||
else | else | ||
VALUE=" | VALUE=" | ||
Zeile 190: | Zeile 207: | ||
</ | </ | ||
- | Starten kann man das Ganze dann automatisch mittels // | + | Wenn man das Skript dann auf dem VZ-System abgelegt hat, z.B. unter ''/ |
<code text canlogger.service> | <code text canlogger.service> | ||
[Unit] | [Unit] | ||
Zeile 207: | Zeile 224: | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
</ | </ | ||
+ | <note tip> | ||
+ | </ | ||
Dann sollte sich der Dienst per '' | Dann sollte sich der Dienst per '' | ||
Zeile 218: | Zeile 237: | ||
- Skript bereinigt und aktualisiert, | - Skript bereinigt und aktualisiert, | ||
+ | // | ||
+ | - Skript kann jetzt ohne Anpassung alle Werte des BM1 (Hex Werte beginnend mit 20) und des TA/TR (Hex Werte beginnend mit 25) korrekt umrechnen, soweit diese in der Tabelle enthalten sind. |
hardware/channels/heating_control/gastherme_junkers_can_bus.1694603963.txt.gz · Zuletzt geändert: 2023/09/13 13:19 von trabant