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: von trabant