Code Monkey home page Code Monkey logo

openhcan's Introduction

logo_open

openHCAN ist eine Hausautomatisierungsloesung auf CAN-Bus Basis. Zielgruppe ist der versierte Anwender oder Entwickler.

Die Hausautomatisierung besteht aus einer Reihe von Modulen, die ueber den CAN Bus miteinander kommunizieren. Die eigentliche Arbeit erledigen die Controller-Module: hier sind Relais zum Schalten von 230V-Lasten und Sensoren wie Taster, Reedkontakte, Temperatur-Sensoren etc angeschlossen.

Bedient wird die Hausautomatisierung ueber eine Weboberflaeche, die Bedienfelder, kleine Unterputz- Module mit einen LCD-Display und ein paar Tastern. Hier kann man z.B. die Raumtemperatur einstellen, Stati abfragen etc. Triviale Dinge wie Licht einschalten o.ae. kann natuerlich weiterhin per Taster gemacht werden.

Zur Wartung und komfortableren Bedienung ist der CAN-Bus ueber das oben bereits erwaehnte Hostinterface an einen Host-Rechner angebunden. Mit telican existiert ein Werkzeug zur Wartung und Konfiguration.

Fuer den eigentlichen Busbetrieb ist aber kein PC noetig - die Module sind voellig autark funktionsfaehig. Sollte also der Rechner ausfallen, so funktionieren Licht, Rollaeden, Heizung etc weiterhin.

openHCAN wurde aus der Motivation heraus entwickelt, eine freie (im Gegensatz zu einer proprietaeren) Hausautomatisierung zu realisieren. Dem OpenSource Gedanken folgendend ist openHCAN unter der GNU Public License veroeffentlicht.

Den Code direkt aufs eigene System: git clone https://github.com/hcanIngo/openHCAN.git

Entwicklungsumgebung, Systemueberblick, News, Terminologie, Bezugsquellen

logo

Mailingliste | Wiki | Quellen | Webseite

openhcan's People

Contributors

chdelfs avatar chris-42 avatar hcaningo avatar realmerlin avatar stoffelxx avatar terdl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openhcan's Issues

images

Host Interface Fehler

Guten Morgen,

ich habe aktuell ziemlich viele Fehler im hcanhid bis hin zu einem Fehler der den hcanhid dann auch beendet:

hcanhid[22835]: Size mismatch: announced: 48, got: 3 hcanhid[22835]: resetting HI... hcanhid[22835]: Size mismatch: announced: 48, got: 3 hcanhid[22835]: resetting HI... hcanhid[22835]: Size mismatch: announced: 48, got: 3 hcanhid[22835]: resetting HI... hcanhid[22835]: Size mismatch: announced: 48, got: 3 hcanhid[22835]: resetting HI... hcanhid[22835]: Size mismatch: announced: 48, got: 3 hcanhid[22835]: resetting HI... hcanhid[22835]: Size mismatch: announced: 48, got: 3 hcanhid[22835]: resetting HI... hcanhid[22835]: Size mismatch: announced: 48, got: 3 hcanhid[22835]: resetting HI... hcanhid[22835]: Size mismatch: announced: 48, got: 3 hcanhid[22835]: resetting HI... hcanhid: unix_uart.c:69: recchar: Assertion nread == 1' failed.
`

Bisher lief es seit gut 4 Jahren (ohne Neustart - ich war selbst überrascht) ohne einen Fehler.
Kompiliert wurde es damals auf dem rPI (3.18.7-v7+ #758 SMP PREEMPT Mon Feb 23 19:52:56 GMT 2015 armv7l GNU/Linux)

Nun wollte ich eine aktuelle Version kompilieren aber in den Sourcen befindet sich gar kein hcanhid mehr? Zuletzt in Release v2.
Habe ich etwas übersehen oder wird das klassische hostinterface gar nicht mehr weiter unterstützt und v2 ist die letzte Version des hcanhid?

Hat sonst jemand einen Vorschlag, eine Idee wie dieser Fehler entstehen kann?
Das USB Kabel habe ich bereits getauscht, alle Lötpunkte nachgelötet und in der Gesamtinstallation gab es auch keine
Änderungen, nicht einmal an den Konfigurationen der einzelnen Controller. Ich verwende ausschließlich normale C1612 v04, keine Bedienpanel oder Erweiterungen.

Vielen Dank vorab für Eure Unterstützung!
Andreas

telican mit hcansocketd -> transportconnection error

Hallo zusammen,

ich hoffe euch allen geht es soweit gut - hier ist es derzeit ja recht ruhig.
Vor einiger Zeit habe ich das HI gegen ein CAN Board getauscht und somit auch den hcansocketd
in Betrieb genommen. Ich kann leider nicht sagen ob ich seit dem telican Befehle verwendet habe oder ob
es seit der Umstellung nicht mehr geht, jedenfalls erhalte ich bei allen telican Befehlen Fehler, folgend ein paar Beispiele:

/usr/bin/telican -c 444 hcanaddressd: could not connect to hcanaddressd HINT: use -s to set a source address /usr/bin/telican -s 222 -c 444 transport connection error: timeout while waiting for packet

Folgende Dienste laufen und wurden auch schon mehrfach neu gestartet:
/system.slice/hcan.service ├─21473 /usr/sbin/hcand ├─21474 /usr/sbin/hcanaddressd ├─21475 /usr/sbin/hcansocketd └─21476 /usr/bin/telican --timed
netstat -anlp |grep 3600 udp 0 0 0.0.0.0:3600 0.0.0.0:* 21473/hcand
netstat -anlp |grep LISTEN tcp 0 0 0.0.0.0:3601 0.0.0.0:* LISTEN 21474/hcanaddressd

Nun die Frage, muss man in Kombination von telican und hcansocketd etwas beachten, was ich nicht beachtet habe oder wo
kann ich mit der Suche nach der Ursache beginnen?

Alles andere funktioniert soweit auch die Pakete auf den hcand per UDP auf Port 3600 funktionieren ohne Probleme.
Der Benutzer sollte auch nicht das Problem sein, habe es mit sudo und auch per root direkt probiert.

Vielen Dank vorab.

ROLLADEN_POSITION_SET - STOP Befehl möglich?

Hallo zusammen,

ist in der Erweiterung des Roll(l)aden-Devices ein Stop nun möglich?
Wie wäre derzeit ohne diese Erweiterung ein Stop möglich? Lediglich über einen Broadcast Meldung? Oder ein POWER_OFF an den Powerport (bringt das Laufzeit durcheinander?)
Wäre mit der neuen Firmware auf dem Controller und den neu Compilierten Tools ein ROLLADEN_POSITION_SET 202 dann dementsprechend ein STOP der Bewegung, also das 'Abschalten' des jeweiligen Power Ports möglich?

Grüße und Danke!
_Andreas

Firmware make all für Controllerboard make scheitert

Hallo zusammen,

auf meinem aktuellen Testsystem (raspbian 9) läuft soweit alles, allerdings wirft das kompilieren der Firmwares des Controllerboards einen Fehler:

Ich gehe davon aus, dass irgendetwas nicht optimal passt oder fehlt:

timer.c:(.text+0x332): undefined reference to `ports_timer_handler'
timer.c:(.text+0x33a): undefined reference to `tempsensor_timer_handler'
timer.c:(.text+0x342): undefined reference to `rolladenSchlitzpos_timer_handler'
timer.c:(.text+0x34a): undefined reference to `poti_timer_handler'
timer.c:(.text+0x352): undefined reference to `rolladen_timer_handler'
timer.c:(.text+0x35a): undefined reference to `powerport_timer_handler'
timer.c:(.text+0x362): undefined reference to `schalter_timer_handler'
/tmp/cc2kLdIL.o: In function `darlingtonoutput_getpin':
darlingtonoutput.c:(.text+0x4e): undefined reference to `ports_getOutput'
/tmp/cc2kLdIL.o: In function `darlingtonoutput_setpin':
darlingtonoutput.c:(.text+0xb6): undefined reference to `ports_setOutput'
collect2: error: ld returned 1 exit status
Makefile:47: die Regel für Ziel "main.elf" scheiterte
make[1]: *** [main.elf] Fehler 1
make[1]: Verzeichnis "/opt/openHCAN/firmwares/controllerboard" wird verlassen
Makefile:35: die Regel für Ziel "all" scheiterte
make: *** [all] Fehler 2

Folgende Versionen sind in der Toolchain installiert, ggf. ist hier auch eine Version nicht kompatibel:

clang ist schon die neueste Version (1:3.8-36).
g++ ist schon die neueste Version (4:6.3.0-4).
indent ist schon die neueste Version (2.2.11-5).
libboost-dev ist schon die neueste Version (1.62.0.1+b4).
libboost-program-options-dev ist schon die neueste Version (1.62.0.1+b4).
libboost-regex-dev ist schon die neueste Version (1.62.0.1+b4).
libreadline-gplv2-dev ist schon die neueste Version (5.2+dfsg-3).
libxml++2.6-dev ist schon die neueste Version (2.40.1-1).
pkg-config ist schon die neueste Version (0.29-4).
sshpass ist schon die neueste Version (1.06-1).
xalan ist schon die neueste Version (1.11-6).
avarice ist schon die neueste Version (2.13+svn347-4).
gdb-avr ist schon die neueste Version (7.7-4).
avr-libc ist schon die neueste Version (1:2.0.0+Atmel3.6.1-1~rpt1).
avrdude ist schon die neueste Version (6.3+r1425-1+rpt1).
gcc-avr ist schon die neueste Version (1:5.4.0+Atmel3.6.1-1~rpt1).

Was mir auch noch aufgefallen ist und erst durch eine Änderung im Makefile behoben werden konnte sind die errors die durch den Kompiler geworfen werden, z. B.

In file included from ./devices/../../controllerboard/devices.h:18:0, from ./devices/zeitschaltuhr.c:20: ./devices/../../controllerboard/devices/analogComparator.h:36:13: error: inline function "analogComparator_timer_handler" declared but never defined [-Werror] inline void analogComparator_timer_handler(device_data_analogComparator *p, uint8_t zyklus);
Beheben konnte ich das nur durch das Hinzufügen von
-Wno-error im Makefile nach -Werror (vermutlich würde auch das entfernen von -Werror schon helfen...)

Vielleicht habt ihr ja eine Idee warum die Firmware für das Controllerboard nicht erstellt werden können. Für das USV Modul und das Userpanel funktioniert es problemlos

Grüße
_Andreas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.