Peter W. schrieb:> Hallo Danny,> habe in der /etc/ems-collector.conf den Parameter "rc-type = rc30"> ergänzt und in der /etc/default/ems-collector die Zeile OPTIONS="...."> auskommentiert.>> Leider immer noch der gleiche Fehler beim Versuch, den collectord als> Service zu starten...
Schau doch mal, ob du den kompletten Fehler siehst, wenn du journalctl
-f in einem zweiten Terminal laufen lässt.
> arbeitet. Allerdings wird die Heizkurve immer noch nicht gezeichnet :-(> - ebenso wie die Graphen auf der Statistikseite. Wie lässt ma die denn> per Cron Job zeichnen?
So oder so ähnlich: https://gist.github.com/maniac103/8486528 (zu
/etc/crontab hinzufügen oder als Datei in /etc/cron.d anlegen) ...
ems-gen-graphs.py kommt aus ems-tools/scripts, /var/tmp/heizung
entspricht dem Graph-Verzeichnis aus der Config.
> ...aber welchem Wert enspricht dies auf Moosys Webinterface - dem> "Nachts reduzierter Betrieb unter"?
Genau dem.
> Falls ja, dann wird der Wert nicht> übernommen, denn in der Weseite (nach einem Refresh) steht dort wieder 0> Grad.
Dann gehe ich mal davon aus, dass die RC30 das einfach nicht kann. Dein
Log deutet auch stark darauf hin: Dieser Wert steht in Telegramm 0x3d,
Offset 39, während deine RC30 nur 32 Bytes kennt. Das dürfte dann auch
auf 'Nachtabsenkung abbrechen unter' (Offset 38) und 'Nachts reduzierter
Betrieb unter' (Offset 40) zutreffen.
> Die Heizkreistemperatur auf der Livestatus Seite wird auch trotz des> RC30 Parameters nicht angezeigt - möglicherweise hängt das ja mit den 2> Heizkreisen zusammen...
Nein, da muss es noch eine andere Ursache geben. Moosy fragt einfach
immer nur HK1 ab, HK2 wird ignoriert. Bei mir wird die Temperatur
angezeigt, und ich habe auch 2 Heizkreise.
Erzeugt wird der ausgegebene Wert ja aus diesem Stück Code in
a_emslive.php:
1
$temptemp = getHKInfo("temptemp");
2
if ($temptemp==0){
3
if (getHKInfo("tagbetr")=="on"){
4
$temptemp = getHKInfo("day");
5
} else {
6
$temptemp = getHKInfo("night");
7
}
8
}
"temptemp" ist "hk1 temperatureoverride", "tagbetr" ist "hk1 daymode",
"day" ist "hk1 daytemperature" und "night" ist "hk1 nighttemperature".
Was dabei auffällt, ist dass 'hk1 temperatureoverride' bei dir nicht
vorhanden ist; d.h. dessen Wert ist nicht 0, sondern 'nicht gesetzt'.
Probier doch mal, die 2. Zeile an dieser Stelle so zu schreiben:
1
if (!isset($temptemp) || $temptemp == 0) {
Das sollte wahrscheinlich helfen. Das sind halt die subtilen
Unterschiede zwischen RC30 und RC35 :-/
Hallo Danny,
das Erstellen der Grafiken - auch der Heizkurve - funktioniert nun
einwandfrei. Ich lasse die auch per Cron Job alle 5 Minuten neu
zeichnen. Das Problem war der falsche Pfad zu der MYSQL Socket Datei in
der config.py Datei (da stand mysql.sock statt mysqld.sock)
Im Livestatus wird die Temperatur leider nicht angezeigt. Ich habe
nochmal einen Screenshot davon angehängt.
In der a_emslive.php Datei habe ich das Statement wie von Dir
vorgeschlagen abgeändert - also
1
$temptemp = getHKInfo("temptemp");
2
if (!isset($temptemp) || $temptemp == 0) {
3
if (getHKInfo("tagbetr")=="on"){
4
$temptemp = getHKInfo("day");
5
} else {
6
$temptemp = getHKInfo("night");
7
}
8
}
- aber leider ohne Erfolg.
Zur Sicherheit habe ich noch aus diesem Block alles mal rausgenommen und
nur
1
$temptemp = getHKInfo("day");
dringelassen - die Anzeige auf der Webseite bleibt leider die gleiche -
also "NaN" - wo immer das auch herkommt :-(
Bezüglich des Service Problems habe ich in einem Terminal "sudo
journalctl -f" eingegeben und dann in einem 2. Fenster "sudo service
ems-collector start".
Der Output von "journalctl -f" sieht so aus:
1
Jan 13 17:28:46 raspi2 sudo[28367]: peter : TTY=pts/2 ; PWD=/var/www/ems ; USER=root ; COMMAND=/usr/sbin/service ems-collector start
2
Jan 13 17:28:46 raspi2 sudo[28367]: pam_unix(sudo:session): session opened for user root by peter(uid=0)
3
Jan 13 17:28:47 raspi2 systemd[1]: Starting LSB: EMS collector daemon...
Matthias F. schrieb:> Zeig mal die Logs her, was da beim Kompilieren schief geht.>> Ich habe im Anhang trotzdem mal ein hex-file für 644p@16MHz mit EMS auf> USART1 gebaut. Hardware Pollin-AVR.
Danke für die Compilierung.
Warum sind in deinem Hexfile folgende Module unter Showconfig nicht
gelistet.
STATUSLED_EMS_RX_FAIL *
STATUSLED_EMS_RX_OK *
STATUSLED_EMS_TX *
STATUSLED_ERROR *
STATUSLED_RX *
STATUSLED_TX
Gruss Denis
Peter W. schrieb:> Zur Sicherheit habe ich noch aus diesem Block alles mal rausgenommen und> nur
1
$temptemp = getHKInfo("day");
dringelassen - die
> Anzeige auf der Webseite bleibt leider die gleiche - also "NaN" - wo> immer das auch herkommt :-(
Naja, erzeugt wird das ja in Zeile 290:
1
<spanid=cnt>
2
<?php
3
printf("%1.1f",$temptemp);
4
?>
D.h. wenn da NaN steht, ist $temptemp nicht (richtig) gesetzt. Guck doch
mal in den Seitenquelltext (Strg+U) ... was steht da hinter 'var ttemp
='?
> Bezüglich des Service Problems habe ich in einem Terminal "sudo> journalctl -f" eingegeben und dann in einem 2. Fenster "sudo service> ems-collector start".> Für mich sieht das so aus, als würden die Parameter nicht korrekt> übergeben weil die "Usage" angezeigt wird.
Definitiv. Was mir grade einfällt ... du hast gesagt, dass du OPTIONS
komplett auskommentiert hast. An sich auch richtig, aber hast du danach
SERIALDEVICE auf 'tcp:<host>:7950' gesetzt? Wenn nein, mach das mal ;-)
var sources = new Array('heizactive','wwactive','redmode','tagbetr','autobetr','party','day','night','pause','wwtag','wwmode','zirmode','temptemp');
6
var selsources = new Array('party','day','night','pause','wwtag','wwmode','zirmode');
7
var ttempoff = 23 ;
8
var qenabled = new Array();
9
var currsrc = 0;
10
var activereq = false;
11
var activeRequest = false;
12
var uline = "";
13
.
14
.
15
.
was ja eigentlich richtig wäre - oder?
Wenn ich mit "Firebug" den Quelltext anzeigen lasse dann fällt mir auf,
dass die variable "ttempoff" den Wert "23" als String (mit
Anführungszeichen) enthält, wogegen "ttemp" die 23 ohne
Anführungszeichen enthält...
Hat das was zu bedeuten?
Hmm, bei der Funktion dispv() ist schon alles zu spät - die Varialbe
ttemp hat schon den Inhalt NaN...
Ich bin dann wirklich Schritt für Schritt durch das Script getraced und
die ttemp varialbe wird in Zeile 132 von a_emslive.php auf diesen Wer
gesetzt - zuvor hatte sie den Wert 23 (bzw. mittlerweile 17 da die
Anlage schon im Nachtbetrieb läuft...)
Der Code lautet:
1
} else if (src == "temptemp"){
2
ttemp=parseFloat(val);
3
var ttbgcol = document.getElementById("ttbgcol");
4
if (ttemp == 0){
5
ttbgcol.style.backgroundColor="#eeeeee";
6
} else {
7
ttbgcol.style.backgroundColor="#ffffaa";
8
}
und die fragliche Zeile ist die
1
ttemp=parseFloat(val);
wobei die Variable 'val' leer ist.
Weiter vorne im Code, ab Zeile 94, wird die Variable 'val' normalerweise
bestückt.
1
var rline = xmlhttp.responseText.split("\n");
2
for (r=0; r<rline.length; r++){
3
if (rline[r].length < 3) continue;
4
var info = rline[r].split("=");
5
var src = info[0];
6
var val = info[1];
Das Array 'rline' hat bei mir folgenden Inhalt:
1
0 "heizactive="
2
1 "wwactive=on"
3
2 "redmode=aussenhalt"
4
3 "tagbetr=off"
5
4 "autobetr=on"
6
5 "party=0"
7
6 "day=23"
8
7 "night=17"
9
8 "pause=0"
10
9 "wwtag=52"
11
10 "wwmode=auto"
12
11 "zirmode=auto"
13
12 "temptemp="
14
13 ""
und der Variablen 'val' wird der Wert nach dem Gleichheitszeichen
zugewiesen - was bei "temptemp" fehlschlägt...
Ich werde mal weitersuchen...
Denis L. schrieb:> Matthias F. schrieb:>> Zeig mal die Logs her, was da beim Kompilieren schief geht.>>>> Ich habe im Anhang trotzdem mal ein hex-file für 644p@16MHz mit EMS auf>> USART1 gebaut. Hardware Pollin-AVR.>> Danke für die Compilierung.> Warum sind in deinem Hexfile folgende Module unter Showconfig nicht> gelistet.>> STATUSLED_EMS_RX_FAIL *> STATUSLED_EMS_RX_OK *> STATUSLED_EMS_TX *> STATUSLED_ERROR *> STATUSLED_RX *> STATUSLED_TX>>> Gruss Denis
Ich habe keine LEDs installiert.
Neu kompiliertes Hexfile im Anhang.
So long,
Matthias
d.H., für "temptemp" wird "hk1 temperatureoverride" abgefragt, was es ja
bei mir nicht giebt... da schließt sich der Kreis - aber wie komme ich
da raus? Kann man einfach einen anderen Prameter in der 'emsgetinfo.inc'
abfragen? Falls ja, welcher kommt denn in Frage?
Peter W. schrieb:> d.H., für "temptemp" wird "hk1 temperatureoverride" abgefragt, was es ja> bei mir nicht giebt... da schließt sich der Kreis - aber wie komme ich> da raus? Kann man einfach einen anderen Prameter in der 'emsgetinfo.inc'> abfragen? Falls ja, welcher kommt denn in Frage?
Da deine RC die Funktion nicht unterstützt, kannst du keinen anderen
Parameter abfragen. Was aber gehen sollte, ist das print in
emsgetval.ajax so zu ändern:
1
if (isset($inf)) {
2
print($source."=".$inf."\n");
3
}
Was in a_emslive.php auch noch fehlt, ist das Aktualisieren des groß
dargestellten Wertes, wenn sich 'tagbetr', 'day' oder 'night' ändern...
Ich würde mir mal die Zeit wünschen, das 'richtig' zu machen ... d.h.
mit einem Cache aller vom Collector gelieferten Werte in einem Cache
auf Clientseite (d.h. im Javascript) und Ausgabe der Werte rein durch
Javascript. PHP wäre dann nur noch für die Aktualisierung dieses Caches
zuständig (Verbinden zum Collector und Abfragen der Werte). Das dürfte
aber ein größeres Projekt sein :-/
Das erschien mir von allen zur Verfügung stehenden Werten der
geeignetste zu sein. Nun ist die Anzeige auf der Livestatus Seite
richtig - auch der Wechsel zwischen Tag- und Nachttemperatur
funktioniert.
Ich möchte mich nochmal bei Dir für Deine Geduld und Deine große
Unterstützung bedanken :-) Ohne Deine Hilfe hätte ich das nicht so
hinbekommen.
Ich werde hier weiter mitlesen - vielleicht kann ich ja nun auch mal den
einen oder anderen Tip beisteuern...
Ich selbst bin natürlich auch für weitere Hinweise dankbar ;-)
Viele Grüße
piet
Hallo,
ich hab endlich alles am laufen, klasse Arbeit von euch :-).
Ich hab da noch zwei dinge die mich etwas stuzig machen in den ems stats
habe ich ein paar dropped packets
Bytes total:1610670
Bytes good:244151
Bytes dropped:2714
Packets good:13007
Packets bad:1
Packets 1byte:1350830 106353
Packets ack:41 nack:0
Overflow:0
Max fill:4
Ich habe einen 10µf elko genommen kan das daher kommen oder muss es
nicht ein kerko sein.
Das zweite ist ist es möglich von der Idee her noch ein Display auf den
AVR zu packen, um alles neben die Heizung ZUM Montieren.
des weiteren habe ich noch zwei unhandles messages im Protokoll.
DATA Unhandled message received(source 0x10, type 0xa4
kommt immer beim auslesen der einstellungen ich hänge die tage mal ein
logfile hier ins forum.
Grüße Denis
Ach, ich habe wieder mal ein Problem.
Nach einigen Stromausfällen, will sich mein NetIO nicht mehr über die
eingestellte IP ansprechen lassen.
Test mit Original ATMEGA3216PU funktioniert. Komme sowohl mit seriell,
als auch mit LAN drauf.
Steck ich um auf ATMEGA644P oder testweise auf einen ATMEGA644 (hatte
ich noch von einem Fehlkauf, da ohne "P") dann habe ich keinen Zugriff,
selbst wenn ich das HEX-File "ems-netio-644p-deploy" mit Ponyprog
fehlerfrei schreibe. Dort ist die IP dann 192.168.0.0. Meinen PC stelle
ich dann immer auf 192.168.0.100 und 255.255.255.0 ein, aber unter
http://192.168.0.0/ecmd tut sich gar nix (Fehler:Verbindung
fehlgeschlagen)
Ist es theoretisch möglich, dass der NET-IO defekt ist, aber das Problem
nicht mit dem ATMEGA3216PU auftaucht? Oder habt Ihr noch andere Ideen,
was ich testen könnte oder wisst Ihr vlt. auch was die Ursache sein
könnte?
Das der Net-IO die eingestellte IP nach einer Stromunterbrechung
vergisst, hatte ich leider auch schon. Es liegt mit ziemlicher
Sicherheit an der einkompilierte IP-Adresse bzw. daran das der
verwendete PC oder bzw. Switch/Router mit der einkompilierte 192.168.0.0
nicht umgehen kann. Mein Vorschlag wäre ein neues HEX-File mit der
gewünschten IP-Adresse und der passenden Gateway IP zu kompilieren,
damit wäre das Problem für alle Zeiten gelöst. An ansonsten mal einen
anderen Switch/Router verwenden, oder den Net-IO direkt über Ethernet an
den PC anschießen. Die Netzwerkkarte im PC muss dann allerdings Auto
MDI-X können oder du benötigst ein Crosskabel/Crossoverkabel, zusätzlich
musst bei direkter Verbindung Netzwerkeinstellungen also die IP fest
z.B. auf 192.168.0.100 und 255.255.255.0 vorgegeben werden. Wenn du ein
Router zwischen PC und Net-IO hast muss der natürlich auch in den IP
Bereich von 192.168.0.x liegen.
Hallo Martin,
habe heute aus familiären Gründen meine Bastelei aufgegeben ;)
Trotzdem vielen lieben Dank für Deine Hinweise, die ich gern mal
getestet hätte, aber hab Verbot g...
Hallo,
kann ich den ems Collector seine Daten an einen fremdem SQL Server
schicken lassen.
Ich habe keine kommando Übergabe dafür gefunden.
--db-path arg Path or server:port specification of database
server
-u [ --db-user ] arg Database user name
-p [ --db-pass ] arg Database password
Ist das implementiert.
Danke für die Info
Hallo, das ^^ habe ich mich auch schon gefragt. Ich habe mich jetzt in
SQL etwas eingelesen und habe eine Datenbank von 2GB auf bplaced.net
generiert. Ich benutze vom Ingo die Gateway-Platine. Ich habe aber keine
Ahnung wie ich die Daten in die Datenbank bringe und wie die Datenbank
formatiert sein muß. Am liebsten wäre es mir, wenn ich die Daten mit
Ingos Platine entsprechend aufbereiten und direkt in die DB schreiben
könnte. Als Übergangslösung würde ich erstmal den Collector benutzen,
den ich unter Windows nicht zum Laufen gebracht habe.
Denis L. schrieb:> kann ich den ems Collector seine Daten an einen fremdem SQL Server> schicken lassen.
Hatte das schon mal so am laufen. Die NAS war mein SQL-Server und auf
dem Notebook lief der EMS-Collector.
Mein Problem war aber damals dass ich Moosys-Frontend nicht dazu bewegen
konnte eine Verbindung zu einem MySQL-Server auf einem andern Host
aufzubauen.
Hie mal meine aktuelle Konfig /etc/ems-collector.conf:
1
ratelimit = 60
2
rc-type = rc35
3
#db-path = 192.168.1.10:3306
4
#db-path = localhost:3306
5
db-user = ems
6
db-pass = istGeheim
7
command-port = 7777
8
data-port = 7778
Meine die erste sukommentierte Zeile könnte Wunder bewirken.
F. F. schrieb:> Am liebsten wäre es mir, wenn ich die Daten mit> Ingos Platine entsprechend aufbereiten und direkt in die DB schreiben> könnte. Als Übergangslösung würde ich erstmal den Collector benutzen,> den ich unter Windows nicht zum Laufen gebracht habe.
Das war auch ursprünglich mein erster Gedanke.
Aber bin nie dazu gekommen mich damit zu beschäftigen weil ich den
emscollector dann am laufen hatte.
Ich hatte vor dem Collector mal ein Java-Programm dass mir die Daten vom
Windows-PC in eine MySQL-Datnbank schrieb.
Hatte den EMS-Gateway über USB-Serial am Windows-PC angeschlossen und
dann über das Java-Programm die Daten in die MySQL-geschrieben.
Das war aber ein leicht anderes Datenformat. Die Programm sollten noch
im Downloadbereich der EMSWIKI sein. (ems-tools??)
Dabei ist auch ein Prpgramm dass die Daten aus der MySQL ausliest und
grafisch darstellt.
Matthias F. schrieb:> Im EMS-Wiki steht alles drin:
Ups.. ich hatte immer mal vorgehabt das in die Wiki einzutragen...
Habs wohl gemacht und wieder vergessen oder ein anderer hat es
eingetragen.
Hallo IngoF.
ich brauche die Möglichkeit den Collector ohne config file mit einem
fremden Datenbankserver zu verbinden da ich das ganze auf einen Docker
Image Viritualisier.
Der Hintergrund ist ich habe hier die Möglichkeit über die
Visualisierung direct SQL anzusprechen und abzufragen.
Also das ganze sollte nachher so aussehen.
docker Image nur Collector.
Nas mit Webserver und SQL Server und einer Gebäudeleittechnik Visu.
Deshalb wäre es interresant ob ich den DB-Connect direkt an der Konsole
weitergeben kann ohne conf file.
Also eigentlich brauche ich nur den Kommandozeilenparameter für den sql
connct.
Danke und Gruß
Denis
Denis L. schrieb:> docker Image nur Collector.
Habe docker zum ersten mal gehört...
Warum kann man dort keine Config-Datei benutzen?
Notfalls einfach die .PHP .py Dateien vom collector nach dem Datenbank
aufbau durchsuchen.
Irgendwo muss die Config Datei ja auch importiert werden. Dort dann
notfalls die Werte selber eintragen.
IngoF schrieb:> Habe docker zum ersten mal gehört...> Warum kann man dort keine Config-Datei benutzen?
Doch Docker kann auch config Dateien.
Aber so hast du nur ein File im etc/init.d und gut ist
die ganze Geschichte hängt zur Zeit bei mit nur daran das es kein
Kanndozeilenparameter gibt für den SQL Connect gibt.
#!/bin/bash
/etc/init.d/mysql start
/etc/init.d/lighttpd start
/ems-collector/collectord -u user -p password -f -d
all=/var/www/logs/ems.log tcp:192.168.2.41:7950 -P /var/www/pid/ems.pid
-R rc30 -C 7777 -D 7778 > /dev/null 2>1 &
-u
-p
und die SQL ip ???????
Das ist die ganze Hexerei.
Vielleicht sollte beim nächsten release des Collector das mal
eingepflegt werden.
Denis L. schrieb:> IngoF schrieb:>> Habe docker zum ersten mal gehört...>> Warum kann man dort keine Config-Datei benutzen?>> Doch Docker kann auch config Dateien.>> Aber so hast du nur ein File im etc/init.d und gut ist> die ganze Geschichte hängt zur Zeit bei mit nur daran das es kein> Kanndozeilenparameter gibt für den SQL Connect gibt.>> #!/bin/bash> /etc/init.d/mysql start> /etc/init.d/lighttpd start> /ems-collector/collectord -u user -p password -f -d> all=/var/www/logs/ems.log tcp:192.168.2.41:7950 -P /var/www/pid/ems.pid> -R rc30 -C 7777 -D 7778 > /dev/null 2>1 &>> -u> -p>> und die SQL ip ???????>> Das ist die ganze Hexerei.> Vielleicht sollte beim nächsten release des Collector das mal> eingepflegt werden.
Achso.. Es funktioniert mit den Konfig-File und Du möchtest das einfach
nur einsparen..
Soweit ich weiss wird das Config-File ja nur importiert.
Statt das Config-File zu importieren kannst Du ja statt des Imports
einfach die Konfiguration selber in die .PY oder .PHP Datei eingeben.
IngoF schrieb:>> Soweit ich weiss wird das Config-File ja nur importiert.> Statt das Config-File zu importieren kannst Du ja statt des Imports> einfach die Konfiguration selber in die .PY oder .PHP Datei eingeben.
du meinst in dem collector selbst, denn der kollector muss ja schon auf
einen fremden SQL Server schreiben
IngoF schrieb:> Ja, den habe ich gemeint...
Ich schau mir das mal an,
aber vielleicht tut Danny Baumann das mal implementieren, dann kannst du
dir den ganzen config quatsch sparen da alle Parameter bein start an den
collector deamon übergeben werden können
Denis L. schrieb:> IngoF schrieb:>> Ja, den habe ich gemeint...>> Ich schau mir das mal an,> aber vielleicht tut Danny Baumann das mal implementieren, dann kannst du> dir den ganzen config quatsch sparen da alle Parameter bein start an den> collector deamon übergeben werden können
Hab ich doch schon lange...
collectord --db-path sqlserver:port -u sqluser -p sqlpass ...
(Steht aber doch auch so im Hilfetext?)
Danny B. schrieb:> Denis L. schrieb:>> IngoF schrieb:>>> Ja, den habe ich gemeint...>>>> Ich schau mir das mal an,>> aber vielleicht tut Danny Baumann das mal implementieren, dann kannst du>> dir den ganzen config quatsch sparen da alle Parameter bein start an den>> collector deamon übergeben werden können>> Hab ich doch schon lange...> collectord --db-path sqlserver:port -u sqluser -p sqlpass ...> (Steht aber doch auch so im Hilfetext?)
es gibt aber kein kommandozeilen Parameter für den SQL connect
der user ist mit -u definiert.
das Password mit -p definiert.
und der SQL Server also -? 192.168.2.2:3306.
denn das Kommando "collectord --db-path 192.168.2.2:3306 -u user -p pw
geht irgendwie nicht.
>> /ems-collector/collectord -u user -p password -f -d>> all=/var/www/logs/ems.log tcp:192.168.2.41:7950 -P /var/www/pid/ems.pid>> -R rc30 -C 7777 -D 7778 > /dev/null 2>1 &
Wenn du das -f weg lässt, kannst du auch das & weglassen ... wozu erst
im Vordergrund starten und dann in den Hintergrund verschieben, wenn man
auch gleich als Daemon starten kann?
> Soweit ich weiss wird das Config-File ja nur importiert.> Statt das Config-File zu importieren kannst Du ja statt des Imports> einfach die Konfiguration selber in die .PY oder .PHP Datei eingeben.
Bitte was? Python und PHP gibt es im Collector nicht...
Hi,
ich will mir den EMS-Adapter
http://ems-gateway.myds.me/dokuwiki/doku.php?id=wiki:ems:net_io
bauen. Bei Reichelt ist der 10µF 63 V bipolar-Elko (Tonfrequenzelko) im
Moment nicht lieferbar.
Gibt es Alternativen?
Ich hätte hier noch einen WIMA 10µF MKS 4 100 V, aber der ist riesig.
Danke!
Alex
>> Hab ich doch schon lange...>> collectord --db-path sqlserver:port -u sqluser -p sqlpass ...>> (Steht aber doch auch so im Hilfetext?)>> es gibt aber kein kommandozeilen Parameter für den SQL connect
Doch: --db-path.
> der user ist mit -u definiert.> das Password mit -p definiert.
Richtig.
> und der SQL Server also -? 192.168.2.2:3306.
--db-path 192.168.2.2:3306
> denn das Kommando "collectord --db-path 192.168.2.2:3306 -u user -p pw> geht irgendwie nicht.
Geht das noch etwas genauer?
Danny B. schrieb:> --db-path 192.168.2.2:3306>>> denn das Kommando "collectord --db-path 192.168.2.2:3306 -u user -p pw>> geht irgendwie nicht.>> Geht das noch etwas genauer?
Also wenn ich den collector so starte:
/ems-collector/collectord --db-path 192.168.2.7:3306 -u user -p password
-d all=/var/www/logs/ems.log tcp:192.168.2.41:7950 -P
/var/www/pid/ems.pid -R rc30 -C 7777 -D 7778 > /dev/null 2>1
dann kommt die Hilfe in der Kommandozeile des Collectord
Denis L. schrieb:> Also wenn ich den collector so starte:>>> /ems-collector/collectord --db-path 192.168.2.7:3306 -u user -p password> -d all=/var/www/logs/ems.log tcp:192.168.2.41:7950 -P> /var/www/pid/ems.pid -R rc30 -C 7777 -D 7778 > /dev/null 2>1>> dann kommt die Hilfe in der Kommandozeile des Collectord
Ja, weil 'target' (d.h. tcp:192.168.2.41:7950) die letzte Option sein
muss. Steht auch so im Hilfetext.
Danny B. schrieb:> Bitte was? Python und PHP gibt es im Collector nicht...
Sorry, war schon länger her das ich mich damit beschäftigt hatte ....
Habe mich mit dem Frontend vertan.
Danny B. schrieb:> Denis L. schrieb:>> Also wenn ich den collector so starte:>>>>>> /ems-collector/collectord --db-path 192.168.2.7:3306 -u user -p password>> -d all=/var/www/logs/ems.log tcp:192.168.2.41:7950 -P>> /var/www/pid/ems.pid -R rc30 -C 7777 -D 7778 > /dev/null 2>1>>>> dann kommt die Hilfe in der Kommandozeile des Collectord>> Ja, weil 'target' (d.h. tcp:192.168.2.41:7950) die letzte Option sein> muss. Steht auch so im Hilfetext.
Ok
Danke probier das später mal aus.
d.H:
collectord --db-path 192.168.2.7:3306 -u user -p Password -d
all=/var/www/logs/ems.log -P /var/www/pid/ems.pid -R rc30 -C 7777 -D
7778 tcp:192.168.2.41:7950 > /dev/null 2>1
sollte alles funktionieren.
Danke gruß Denis
Alex schrieb:> Bei Reichelt ist der 10µF 63 V bipolar-Elko (Tonfrequenzelko) im> Moment nicht lieferbar.> Gibt es Alternativen?
Nimm doch einfach nen 10uF SMD-Kondensator:
Reichelt Artikel-Nr.: X7R-G1206 10/16
Denis L. schrieb:> Danny B. schrieb:>>> --db-path 192.168.2.2:3306>>>>> denn das Kommando "collectord --db-path 192.168.2.2:3306 -u user -p pw>>> geht irgendwie nicht.>>>> Geht das noch etwas genauer?>> Also wenn ich den collector so starte:>>> /ems-collector/collectord --db-path 192.168.2.7:3306 -u user -p password> -d all=/var/www/logs/ems.log tcp:192.168.2.41:7950 -P> /var/www/pid/ems.pid -R rc30 -C 7777 -D 7778 > /dev/null 2>1>> dann kommt die Hilfe in der Kommandozeile des Collectord
Hab das ganze nun am laufen läuft super.
Collector im docker image aus NAS Server
und webseite aus Webserver des NAS.
Super Arbeit Danny B. :-)
Hallo,
habe heute gesehen es gibt einen neuen COllector auf Github.
was ist das für eine option und was macht SIe.
--mqtt-broker arg MQTT broker address (<host>:<port>)
Danke gruss Denis
Denis L. schrieb:> habe heute gesehen es gibt einen neuen COllector auf Github.> was ist das für eine option und was macht SIe.>> --mqtt-broker arg MQTT broker address (<host>:<port>)
MQTT ist ein Messaging-Protokoll. Ich benutze das, um die EMS-Daten in
OpenHAB reinzubringen. Irgendwann will ich auch noch die andere Richtung
machen (d.h. EMS-Steuerbefehle aus OpenHAB absetzen), aber dafür muss
ich noch einiges umbauen ... ist mir im Moment zu viel Aufwand.
Wenn du nach MQTT und OpenHAB googlest, findest du einige Blogeinträge
und Tutorials dazu, die auch die Begriffe erklären ... z.B.
hier:https://openhardwarecoza.wordpress.com/2015/03/29/openhab-mqtt-arduino-and-esp8266-part-1-setting-up-your-environment/
Danny B. schrieb:> Denis L. schrieb:>> habe heute gesehen es gibt einen neuen COllector auf Github.>> was ist das für eine option und was macht SIe.>>>> --mqtt-broker arg MQTT broker address (<host>:<port>)>> MQTT ist ein Messaging-Protokoll. Ich benutze das, um die EMS-Daten in> OpenHAB reinzubringen. Irgendwann will ich auch noch die andere Richtung> machen (d.h. EMS-Steuerbefehle aus OpenHAB absetzen), aber dafür muss> ich noch einiges umbauen ... ist mir im Moment zu viel Aufwand.>> Wenn du nach MQTT und OpenHAB googlest, findest du einige Blogeinträge> und Tutorials dazu, die auch die Begriffe erklären ... z.B.>
hier:https://openhardwarecoza.wordpress.com/2015/03/29/openhab-mqtt-arduino-and-esp8266-part-1-setting-up-your-environment/
Das ist doch mal eine nette sache viel erfolg bei der Arbeit.
Hab den Collector nun isoliert auf einen docker image im NAS Server
laufen.
Web fontend läuft auf dem Webserver des NAS.
Moosy Webfont läuft super musste nur die DB adressen anpassen.
Danke Denis
Dennis schrieb:> Ohne Speicher Oszilloscop werde ich hier aber wohl nicht mehr weiter> kommen
Hallo,
ich wollte mich auf meine Beiträge vom November einmal zurückmelden.
Ich konnte an einer GB132T keine Verbindung mit dem NET-IO aufbauen, an
meiner GB142 aber schon.
Durch einen "Zufall" wissen wir nun grob woran es lag. Es gab sporadisch
immer einmal Fehlermeldungen was den Brenner betraf.
Wir haben nun daraufhin die UBA getauscht, und siehe da alles geht!
Keine Störungen mehr und der NET-IO wird auch als Busteilnehmer
angezeigt...!
Mich würde nun nur interessieren was da auf der UBA wohl defekt ist...
:-(
Gruß
Dennis
Denis L. schrieb:> Hab das ganze nun am laufen läuft super.> Collector im docker image aus NAS Server> und webseite aus Webserver des NAS.>> Super Arbeit Danny B. :-)
Hallo Denis,
habe mal ein wenig geforscht. Wie hast Du dass denn im Docker zum laufen
bekommen? Auf Ubunuto kompiliert und dann in einem Ubuntu-Container am
laufen?
Wäre daran auch interessiert. Wollte collectorD schon immer auf einer
von meinen Diskstations zum laufen bekommen.
Habe direktes Kompilieren geht wegen dem veralteten GCC nicht. Und alle
anderen Möglichkeiten habe ich auch nicht zum laufen bekommen. Was hast
Du denn für eine DS?
Habe eine 212+ und 415+
IngoF schrieb:> Denis L. schrieb:>> Hab das ganze nun am laufen läuft super.>> Collector im docker image aus NAS Server>> und webseite aus Webserver des NAS.>>>> Super Arbeit Danny B. :-)>> Hallo Denis,>> habe mal ein wenig geforscht. Wie hast Du dass denn im Docker zum laufen> bekommen? Auf Ubunuto kompiliert und dann in einem Ubuntu-Container am> laufen?>> Wäre daran auch interessiert. Wollte collectorD schon immer auf einer> von meinen Diskstations zum laufen bekommen.> Habe direktes Kompilieren geht wegen dem veralteten GCC nicht. Und alle> anderen Möglichkeiten habe ich auch nicht zum laufen bekommen. Was hast> Du denn für eine DS?>> Habe eine 212+ und 415+
Nimm dir Docker auf DSM,
dann nimm ein Debian wheezy Docker image, installier mit apt wie in der
Beschreibung für den raspi alle nötigen Packete.
Dann habe ich wie Du oben lesen kannst ein startscript und dann muss du
nur noch deine docker ip wissen vom host.
der Hostserver braucht dann noch mariadb.
Dann das web fontend drauf und gut.
Gruss Denis
Hallo,
ich habe jetzt auch alles soweit aufgebaut,
leider habe ich auch Probleme mit den Packets.
Bytes total:20046
Bytes good:75
Bytes dropped:0
Packets good:8
Packets bad:886
Packets 1byte:34 0
Packets ack:0 nack:0
Overflow:165
Max fill:3
Ich habe schon 2 mal alles überprüft und finde den Fehler nicht,
das einzige was ich anders habe ist C5, da habe ich einen normalen
Elko genommen mit + nach R14, sollte so richtig sein.
Falls noch jemand eine Platine los werde möchte, so würde ich sie gerne
nehmen, bevor ich noch Stunden der Suche verbruzzel,
oder hat jemand eine Idee wo ich welches Signal messen kann um den
Fehler zu finden, Oszi ist vorhanden.
Danke
Sven
Liebe EMS-Gemeinde
ich habe verzweifele gerade an der Bestückung der Platine, weil mir
a) eine Bestückungsplan fehlt (der Breadbord Designer schmiert sowohl
unter OSX, als auch unter Debian und Windows mit der im Wiki
hinterlegten .bb-Datei mit java-Fehlern ab)
b) es für mein Gefühl Diskrepanzen zwischen dem im Wiki hinterlegten
Schaltplan und dem Lochraster-Layout gibt, so dass ich die Bauteile auch
auf diesem Weg nicht identifizieren kann.
Könnte bitte jemand einen Bestückungsplan (wenn das der richtige
Ausdruck für "Ein Bild von der Lochrasterplatine mit Bezeichnung und
Wert der Bauteile") posten? Oder den beigefügten Plan (xml zu bearbeiten
auf draw.io) verifizieren und korrigieren?
In einem Beitrag vom 15.11.15 hat der User "Passuff" einen solchen
gepostet, dieser wurde jedoch nie verifiziert und enthält einige
Modifikationen zum Original.
Danke & Viele Grüße
T.
(Edit: eigener Stand Bestückungsliste hinzugefügt)
(Edit2: Sorry, finde keinen Weg die überflüssigen Bilder zu löschen)
Hi,
mein Net-IO hat zuletzt die Konfiguration verloren. Eventuell liegt das
an der Brown out detection, die war bei mir nämlich aus (ich habe mich
bei den Fuses an die Angaben von http://emswiki.thefischer.net/
gehalten).
Gibt es die Möglichkeit, die Funktionalität der Net-IO Platine in den Pi
zu integrieren? Ich habe keine Netzwerkports mehr frei...
Grüße,
Chris
Christian schrieb:> Hi,>> mein Net-IO hat zuletzt die Konfiguration verloren. Eventuell liegt das> an der Brown out detection, die war bei mir nämlich aus (ich habe mich> bei den Fuses an die Angaben von http://emswiki.thefischer.net/> gehalten).>> Gibt es die Möglichkeit, die Funktionalität der Net-IO Platine in den Pi> zu integrieren? Ich habe keine Netzwerkports mehr frei...
Nein, weil Standard-Betriebssysteme keine sinnvolle Möglichkeit für die
Verarbeitung der Break-Conditions haben.
Guten Abend,
habe mich in Tagelanger Aktion durch das EMS Wiki gequält und bin jetzt
beim Server auf dem Raspberry angelangt. Net-IO bis zum testtool
funktioniert glücklicherweise.
Leider schmeißt mir das "make" zum Erstellen des collectord immer ein
paar Fehler:
CommandHandler.h:70:51: error: expected ‘;’ at end of member declaration
5
CommandHandler.h:70:53: error: ‘override’ does not name a type
6
In file included from main.cpp:35:0:
7
TcpHandler.h:34:52: error: expected ‘;’ at end of member declaration
8
TcpHandler.h:34:54: error: ‘override’ does not name a type
9
TcpHandler.h:35:56: error: expected ‘;’ at end of member declaration
10
TcpHandler.h:35:58: error: ‘override’ does not name a type
11
Makefile:48: recipe for target 'main.o' failed
12
make: *** [main.o] Error 1
Die EMC-Collector files von github sind aktuell von heute. Spontan
konnten meine rudimentären Kenntnisse keine Fehler in der
CommandHandler.h und TcpHandler.h erkennen.
Hat jemand einen Lösungsansatz?
Gruß Florian
PS: Volle Ladung mitgenommen... Billiger Diamex ISP Programmer lief
nicht. NetIO wollte nicht ins Netzwerk, Fusebits auf dem ATMega32 von
Pollin waren falsch, Dann zunächst einen ATMega 644 20PU bestellt. Geht
natürlich nicht. Also noch einen 644p.Irgendwann lief dann Ethersex. Auf
meinem Raspberry2 lief noch ein apache2. Also startete der lighttpd
nicht weil Port 80 belegt war. Und jetzt der Fehler beim Compilieren :/
Geht das allen so?
War auf gcc 4.6. Standard wheezy wie ich lesen konnte.
Habe noch 4.9 installiert und als default eigerichtet. Bis auf ein paar
"warning: swp{b} use is deprecated for ARMv6 and ARMv7" lief es durch.
Danke!
Nächstes Problem:
collectord ließ sich nach dem Kompilieren im /ems-collector/collector
nicht ausführen. Datei wurde nicht gefunden, war aber im Verzeichnis
vorhanden.
Habe dann gemäß Readme die Punkte Install, Config und Service ausgeführt
und daraufhin war die collectord auch über die Konsole ausführbar. Gibt
aber bei egal welchem Befehl nur die Hilfe aus.
1
service ems-collector start
gibt ebenso die Hilfe aus und endet mit einem "failed". Der collector
wird also nicht gestartet.
-> Woran kann das liegen?
-> Welche Daten müssen bei db-user und db-pass in die config? Der mysql
login, welcher im Wiki unter "MySql Benutzer anlegen" erzeugt wird? Ich
kenne mich mit Datenbanken und Servern kaum aus.
Wenn mir jemand die grobe Struktur mit Standardverzeichnissen erläutern
kann, wäre ich sehr dankbar.
-> Hab ich es richtig verstanden, dass es sich beim Frontend von Moosy
um eine fertige GUI handelt? Wie wird darauf zugegriffen - sprich wie
entsteht der Link zum /var/www, aus welche bei Aufrufen der Pi-IP die
index.php ausgeführt wird?
Viele Grüße und angenehmen Sonntag
Florian
Denis L. schrieb:> dann nimm ein Debian wheezy Docker image, installier mit apt wie in der> Beschreibung für den raspi alle nötigen Packete.
habe z.B. pacour/debuian-wheezy genommen.
Allerdings wird es sofort wieder unerwartet beendet.
Wie bekomme ich denn ein Terminal oder irgendwas um die Sachen per APT
nachzuinstallieren? Terminal soll ja auf der Diskstation nicht gehen,
oder?
Was hast Du denn für ein Wheezy-Image genommen? In der Sucher werden ja
>24000 Docker Wheezy-Images angezeigt.
Hast Du Dir den Container auf einem anderen Rechner zusammengebastelt,
oder direkt auf der Diskstation?
Gruß
Ingo
Hallo Freunde,
da mein zukünftiges Haus eine Viessmann Heizung hat, wäre hier eine EMS
Platine + NetIO zu haben. Gewinnt zwar keinen Schönheitswettbewerb, aber
funktioniert einwandfrei und ist somit kampferprobt :)
Wenn Interesse bitte Ich um ein faires Gebot per PN. Gruß
Torsten G. schrieb:> Könnte bitte jemand einen Bestückungsplan (wenn das der richtige> Ausdruck für "Ein Bild von der Lochrasterplatine mit Bezeichnung und> Wert der Bauteile") posten? Oder den beigefügten Plan (xml zu bearbeiten> auf draw.io) verifizieren und korrigieren?
Da bisher keiner helfen konnte habe ich mich mal daran gewagt.
Habe mein Ergebnis als XML und Screenshot angehangen.
Bin mir ziemlich sicher dass es so stimmt. Die Komperatoren im Layout
sind zum Schaltplan vertauscht. Vielleicht kam daher die Fehlzuordnung.
Ich habe die Schaltung aber nie aufgebaut da ich kein NetIO habe.
Habe den C6 auch noch eingezeichnet. Auch bitte die fehlende Leiterbahn
zwischen den beiden BAT42 nicht vergessen.
Bitte mal Rückmeldung geben wenn Deine Platine erfolgreich getestet
wurde.
Gruß
Ingo
@IngoF: Vielen Dank - ich werde testen und Feedback geben. Ich würde
mich dann drum kümmern, dass der verifizierte Plan in's ems_netio Wiki
kommt (gleich auch in der gespiegelten Version sight ;-) )
Torsten G. schrieb:> @IngoF: Vielen Dank - ich werde testen und Feedback geben. Ich> würde> mich dann drum kümmern, dass der verifizierte Plan in's ems_netio Wiki> kommt (gleich auch in der gespiegelten Version sight ;-) )
Habe ich schon gemacht. Eventuell Seite nochmal aktualisieren falls die
Änderungen noch nicht zu sehen sind.
Hallo zusammen,
Ich habe nach dem Wiki und den Forenbeiträgen ein System aus
Adapterplatine, AVR NET IO und zur Zeit Ubuntu ( wird später Raspberry)
aufgebaut. Ich teste im Moment die Kommunikation mit dem Collector
Testtool.
Dabei habe ich folgendes Probelm:
Die RX LED auf der Adapterplatine leuchtet von Zeit zu Zeit.
Mit dem Collector Testtool (V0.4)bekomme ich nach dem Verbinden
folgendes Telegramm:
4F 52 3A 20 43 6F 6E 6E 65 63 74 69 6F 6E 20 62 6C 6F 63 6B 65 64 0A
Die Abfrage der Uhrzeit mit:
0B 90 06 00 08
antwortet mit …
Das Testprogramm
collectord -u ems -p geheim -f -d all tcp:192.168.178.100:7950
bringt:
helmut@helmut-VirtualBox:~$ collectord -u ems -p geheim -f -d all
tcp:192.168.178.100:7950
IO: Got bytes 0x45 0x52 0x52 0x4f 0x52 0x3a 0x20 0x43 0x6f 0x6e 0x6e
0x65 0x63 0x74 0x69 0x6f 0x6e 0x20 0x62 0x6c 0x6f 0x63 0x6b 0x65 0x64
0xa 00
Error: End of file
IO: Got bytes 0x45 0x52 0x52 0x4f 0x52 0x3a 0x20 0x43 0x6f 0x6e 0x6e
0x65 0x63 0x74 0x69 0x6f 0x6e 0x20 0x62 0x6c 0x6f 0x63 0x6b 0x65 0x64
0xa 00
Error: End of file
IO: Got bytes 0xaa 0x55 0x5 0xce 0xfd 0xd3 0xee 0x96 0x98
MESSAGE[07.03.2016 18:59:44]: source 0xce, dest 0xfd, type 0xd3, offset
238, data: 0x96
IO: Got bytes 0xaa 0x55 0x6 0xf6 0x1 0x24 0xff 0xff 0x31 0xe2
MESSAGE[07.03.2016 19:00:07]: source 0xf6, dest 0x01, type 0x24, offset
255, data: 0xff 0x31
DATA: Unhandled message received(source 0xf6, type 0x24).
Hat jemand eine Idee was das zu bedeuten hat? Übertragungsprobleme?
Helmut J. schrieb:> Die RX LED auf der Adapterplatine leuchtet von Zeit zu Zeit.> Mit dem Collector Testtool (V0.4)bekomme ich nach dem Verbinden> folgendes Telegramm:>> 4F 52 3A 20 43 6F 6E 6E 65 63 74 69 6F 6E 20 62 6C 6F 63 6B 65 64 0A
Das ist 'Connection blocked'. Du hast mehrere Programme laufen, die sich
mit dem NetIO verbinden. Das geht nicht, d.h. du musst das überzählige
Programm beenden.
>> Die Abfrage der Uhrzeit mit:> 0B 90 06 00 08> antwortet mit …>> Das Testprogramm> collectord -u ems -p geheim -f -d all tcp:192.168.178.100:7950> bringt:> helmut@helmut-VirtualBox:~$ collectord -u ems -p geheim -f -d all> tcp:192.168.178.100:7950> IO: Got bytes 0x45 0x52 0x52 0x4f 0x52 0x3a 0x20 0x43 0x6f 0x6e 0x6e> 0x65 0x63 0x74 0x69 0x6f 0x6e 0x20 0x62 0x6c 0x6f 0x63 0x6b 0x65 0x64> 0xa 00> Error: End of file> IO: Got bytes 0x45 0x52 0x52 0x4f 0x52 0x3a 0x20 0x43 0x6f 0x6e 0x6e> 0x65 0x63 0x74 0x69 0x6f 0x6e 0x20 0x62 0x6c 0x6f 0x63 0x6b 0x65 0x64> 0xa 00
Das hier ist das gleiche.
IngoF schrieb:> Denis L. schrieb:>> dann nimm ein Debian wheezy Docker image, installier mit apt wie in der>> Beschreibung für den raspi alle nötigen Packete.>> habe z.B. pacour/debuian-wheezy genommen.> Allerdings wird es sofort wieder unerwartet beendet.>> Wie bekomme ich denn ein Terminal oder irgendwas um die Sachen per APT> nachzuinstallieren? Terminal soll ja auf der Diskstation nicht gehen,> oder?>> Was hast Du denn für ein Wheezy-Image genommen? In der Sucher werden ja>>24000 Docker Wheezy-Images angezeigt.>> Hast Du Dir den Container auf einem anderen Rechner zusammengebastelt,> oder direkt auf der Diskstation?>> Gruß> Ingo
Nimm Dir mal im Docker Menu auf DSM Das Orginal Debian Image.
Du erkennst das an dem auszeichnungs Symbol
Dann kann DU auch auswählen ob jeesy oder Wheezy.
Ich benutze im Docker den Terminal, DU kannst aber auch einen SSH zugang
zum Image einrichten.
Denk daran dann den Port 22 im DOcker Image freizugeben
Helmut J. schrieb:> Ich habe nach dem Wiki und den Forenbeiträgen ein System aus> Adapterplatine, AVR NET IO
Warum hast Du denn eine gespiegeltes Layout angehangen?
Denis L. schrieb:> Ich benutze im Docker den Terminal,
Das war mein Problem ich habe das Terminal im Docker auf der DS nicht
gefunden....
Habe es aber jetzt per Zufall gefunden:
container > details > terminal
Hallo in die Runde
so, next step: der Net-IO!
ich hoffe, dass das nicht allzu off-topic ist, aber da ich für das eine
Mal die Anschaffung eines dedizierten ISP-Programmers scheue, würde ich
den 644p mit der low-cost-variante "ArduinoISP" programmieren wollen
(https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard)
Jetzt die Noob-Frage: muss ich auf den 644p auch zuerst einen bootloader
drauf machen oder reicht es, das hex-File aus dem wiki mit avrdude zu
brennen?
Viele Grüße
Torsten
Hallo an die Runde,
ich versuche gerade unter XUbuntu auf meinem alten Rechner den Collector
zu installieren. Ich komme leider mur bis zum make im Wiki:
"... MySQL database support' sagt, und entfernen die Raute am Anfang der
3 Zeilen danach.
Danach sollte Ein „make“ die ausführbare Datei „collectord“ erzeugen.
Bis der Raspberry das erledigt hat, könnt Ihr Euch eine Tasse Kaffee
genehmigen. ;-)"
Fehlermeldung:
root@helmut-SCENIC-L:/home/helmut/ems-collector/collector# make
g++ -Wall -c -O2 -std=c++0x -DHAVE_DAEMONIZE -DHAVE_MYSQL -MM main.cpp
IoHandler.cpp SerialHandler.cpp TcpHandler.cpp CommandHandler.cpp
ApiCommandParser.cpp CommandScheduler.cpp DataHandler.cpp EmsMessage.cpp
ValueApi.cpp ValueCache.cpp Options.cpp PidFile.cpp Database.cpp >
.depend
g++ -Wall -c -O2 -std=c++0x -DHAVE_DAEMONIZE -DHAVE_MYSQL main.cpp
In file included from main.cpp:28:0:
Database.h:25:38: fatal error: mysql/mysql++/connection.h: Datei oder
Verzeichnis nicht gefunden
#include <mysql/mysql++/connection.h>
^
compilation terminated.
make: *** [main.o] Fehler 1
Die einzige Besonderheit bei der Installation war: Statt der
libboost1.50-all musste ich die libboost1.54-all nehme, da es unter
XUbuntu die 50 und auch 49 nicht gab.
Hat jemand eine Idee, ich bin leider kein Linux Spezialist????
Helmut J. schrieb:
> fatal error: mysql/mysql++/connection.h: Datei oder> Verzeichnis nicht gefunden
... er findet /usr/include/mysql/mysql++/connection.h nicht.
Danny hat in seinem letzten commit ein paar Pfade geändert. (Danny?)
Setze mal bitte folgende Befehle ab und versuche es dann nochmal:
cd /usr/include/mysql
ln -s /usr/include/mysql++ mysql++
hth
Fixed, sorry :-/
Damit Raum-Ist- und -Solltemperatur ordentlich in die DB geschrieben
werden, werde ich demnächst mal noch eine Option für die Anzahl der
angeschlossenen Heizkreise einführen (die beiden Temperaturen sind jetzt
HK-spezifisch, da das auf dem Bus auch so ist).
Karl M. W. schrieb:> Helmut J. schrieb:>> fatal error: mysql/mysql++/connection.h: Datei oder>> Verzeichnis nicht gefunden>> ... er findet /usr/include/mysql/mysql++/connection.h nicht.>> Danny hat in seinem letzten commit ein paar Pfade geändert. (Danny?)>> Setze mal bitte folgende Befehle ab und versuche es dann nochmal:>> cd /usr/include/mysql> ln -s /usr/include/mysql++ mysql++
Das funktioniert leider nicht.
der make bleibt jetzt bei:
/usr/include/mysql++/common.h:131:28: fatal error: mysql_version.h:
Datei oder Verzeichnis nicht gefunden
hängen.
Warum ist in der aktuellen Collector Build kein SQL Support mehr
enthalten.
Wenn ich die Hilde des COllectors aufrufe wird auch nut noch die mqtt
Option aufgelisteet, aber die --db-path Option gibt es irgend wie nicht
mehr warum.
Make benutzt auch nicht mehr die Database files.
Gruss Denis
Denis L. schrieb:> Warum ist in der aktuellen Collector Build kein SQL Support mehr> enthalten.> Wenn ich die Hilde des COllectors aufrufe wird auch nut noch die mqtt> Option aufgelisteet, aber die --db-path Option gibt es irgend wie nicht> mehr warum.>> Make benutzt auch nicht mehr die Database files.
Weil es jetzt optional ist - siehe Makefile.
Danny B. schrieb:> Denis L. schrieb:>> Warum ist in der aktuellen Collector Build kein SQL Support mehr>> enthalten.>> Wenn ich die Hilde des COllectors aufrufe wird auch nut noch die mqtt>> Option aufgelisteet, aber die --db-path Option gibt es irgend wie nicht>> mehr warum.>>>> Make benutzt auch nicht mehr die Database files.>> Weil es jetzt optional ist - siehe Makefile.
Wie include ich das jetzt ??????
Denis L. schrieb:> Danny B. schrieb:>> Denis L. schrieb:>>> Warum ist in der aktuellen Collector Build kein SQL Support mehr>>> enthalten.>>> Wenn ich die Hilde des COllectors aufrufe wird auch nut noch die mqtt>>> Option aufgelisteet, aber die --db-path Option gibt es irgend wie nicht>>> mehr warum.>>>>>> Make benutzt auch nicht mehr die Database files.>>>> Weil es jetzt optional ist - siehe Makefile.>> Wie include ich das jetzt ??????
Steht doch im Makefile drin - einfach die Raute am Anfang der
entsprechenden 3 Zeilen entfernen.
Danny B. schrieb:> Denis L. schrieb:>> Danny B. schrieb:>>> Denis L. schrieb:>>>> Warum ist in der aktuellen Collector Build kein SQL Support mehr>>>> enthalten.>>>> Wenn ich die Hilde des COllectors aufrufe wird auch nut noch die mqtt>>>> Option aufgelisteet, aber die --db-path Option gibt es irgend wie nicht>>>> mehr warum.>>>>>>>> Make benutzt auch nicht mehr die Database files.>>>>>> Weil es jetzt optional ist - siehe Makefile.>>>> Wie include ich das jetzt ??????>> Steht doch im Makefile drin - einfach die Raute am Anfang der> entsprechenden 3 Zeilen entfernen.
Ok das geht bekomme aber nach ein paar Sekunden die Meldung:
Exception: boost::bad_get: failed value get using boost::get
was ist das ???
Danke Danny im vorraus
Danny B. schrieb:> Ist das alles oder steht da noch mehr?
MESSAGE[13.03.2016 19:48:15]: source 0x10, dest 0x00, type 0x3e, offset
0, data:
0x04 0x02 0x2e 0x00 0xed 0x3d 0x3c 0x1f 0x27 0x2e 0x00 0x00 0x64 0x11
0x21
DATA: HK1-Ausschaltoptimierung = AUS
DATA: HK1-Einschaltoptimierung = AUS
DATA: HK1-WW-Vorrang = AUS
DATA: HK1-Estrichtrocknung = AUS
DATA: HK1-Frostschutzbetrieb = AUS
DATA: HK1-Sommerbetrieb = AUS
DATA: HK1-Tagbetrieb = AN
DATA: HK1-Betriebsart = immer Tagbetrieb
Exception: boost::bad_get: failed value get using boost::get
immer wenn er den HK1 abfrägt genau an der stelle ist eine gb132 mit
rc30
alle abfragedaten des hk1 sind irgendwie falsch haben also nix mit den
Parametern ds kessel zu tun
Hallo,
ich muss nochmal eure Hilfe in Anspruch nehmen,
ich bekomme mein NetIO nicht zum laufen.
Ich habe jetzt die zweite Platine aufgebaut und bekomme immer noch
Bytes total:1620555
Bytes good:7773
Bytes dropped:0
Packets good:1240
Packets bad:69553
Packets 1byte:6988 0
Packets ack:0 nack:0
Overflow:103418
Max fill:7
Ich habe ein GB162 mit der RC300 EMS Plus Steuerung.
Ich habe mal ein Oszi angeschlossen, und würde sagen das Signal sieht
gut am Ausgang des OP's.
Kann es sein, das es einfach an dem EMS+ Protokoll liegt, das ich gar
kein Hardware Problem habe?
Vielen dank schon mal im vorraus.
Sven
Grünbacher schrieb:>> Ich habe ein GB162 mit der RC300 EMS Plus Steuerung.> Ich habe mal ein Oszi angeschlossen, und würde sagen das Signal sieht> gut am Ausgang des OP's.>> Kann es sein, das es einfach an dem EMS+ Protokoll liegt, das ich gar> kein Hardware Problem habe?>
Hallo Sven,
es liegt definitiv nicht daran.
Ich habe eine ähnliche Konfiguration und bei mir funktioniert das Netio
Gateway.
Allerdings habe ich es nicht hingekriegt das mit einem selbst
kompilierten Hex File zum Laufen zu bringen.
Grüße, Torsten
Denis L. schrieb:> Danny B. schrieb:>> Ist das alles oder steht da noch mehr?> DATA: HK1-Betriebsart = immer Tagbetrieb> Exception: boost::bad_get: failed value get using boost::get
Fixed, sorry. Man merkt glaube ich, dass ich das DB-Interface selber
nicht mehr verwende :-/
> alle abfragedaten des hk1 sind irgendwie falsch haben also nix mit den> Parametern ds kessel zu tun
Wie meinst du das?
Ich habe hier mal ein paar
OSZI Bilder vom Ausgang der OP's.
Wenn die Baudrate mit 9600 Baud stimmt,
dann ergibt sich eine Bitbreite von etwas mehr als 100µs,
wo ich eigentlich sagen würde,
das es stimmt.
Aber warum habe ich dann die ganzen Fehler?
Grünbacher schrieb:> @Torsten>> Wie hat sich das bei dir geäusert mit dem kompilieren,> lief der AVR gar nicht oder hattest du ähnliche Fehler?
Daten hatte ich nur mit dem Hex File aus dem Wiki
Grüße, Torsten
Karl M. W. schrieb:> Helmut Jato(Helmbrot) schrieb:>> Das funktioniert leider nicht.>> sorry! :-/>> Aber Danny hat's ja gefixt. :-)
#####################
Ich habe den Fix eingebaut, der make funktioniert. In meiner Ubuntu
Virtual Box funktioniert der ems-collector dienst auch, auf meinem
Zielrechner (xubunto) lässt sich der Dienst nicht starten.
helmut@helmut-SCENIC-L:/etc/init.d$ sudo service ems-collector start
* Starting EMS collector daemon collectord
Usage: /usr/local/sbin/collectord [options] <target>
General options:
-h [ --help ] Show this help message
-R [ --rc-type ] arg Type of used room controller (rc30 or
rc35)
-r [ --ratelimit ] arg (=60) Rate limit (in s) for writing numeric
sensor
values into DB
...
Hat Jemand eine Idee??
Danny B. schrieb:> Denis L. schrieb:>> Danny B. schrieb:>>> Ist das alles oder steht da noch mehr?>> DATA: HK1-Betriebsart = immer Tagbetrieb>> Exception: boost::bad_get: failed value get using boost::get>> Fixed, sorry. Man merkt glaube ich, dass ich das DB-Interface selber> nicht mehr verwende :-/>>> alle abfragedaten des hk1 sind irgendwie falsch haben also nix mit den>> Parametern ds kessel zu tun>> Wie meinst du das?
Der Modus Betriebsart Automatik wird in Moosy´s Webfont immer in manuel
angezeigt grade letztes git von Dir gezogen und getestet. das war vorher
nicht. hab auch noch ein unhandled data message 0x08 type 0x07
Denis L. schrieb:> Danny B. schrieb:>> Denis L. schrieb:>>> Danny B. schrieb:>>>> Ist das alles oder steht da noch mehr?>>> DATA: HK1-Betriebsart = immer Tagbetrieb>>> Exception: boost::bad_get: failed value get using boost::get>>>> Fixed, sorry. Man merkt glaube ich, dass ich das DB-Interface selber>> nicht mehr verwende :-/>>>>> alle abfragedaten des hk1 sind irgendwie falsch haben also nix mit den>>> Parametern ds kessel zu tun>>>> Wie meinst du das?>> Der Modus Betriebsart Automatik wird in Moosy´s Webfont immer in manuel> angezeigt grade letztes git von Dir gezogen und getestet. das war vorher> nicht.
Meine letzten Collector-Änderungen brauchen Änderungen im Frontend. Da
Mossy MIA ist, habe ich diese Änderungen in ingof's Form eingepflegt,
d.h. du solltest dieses Repo verwenden.
> hab auch noch ein unhandled data message 0x08 type 0x07
Wenn du mir sagst, was da drin steht, kann ich auch Handling einbauen ;)
Im Ernst: der Inhalt dieses Telegramms ist auch dem Wiki unbekannt, d.h.
du kannst das einfach ignorieren.
Hallo,
wollte mich nur nochmal kurz melden,
bei mir geht es mittlerweile.
Ich habe vergessen die Fuses zu programmieren(ICH IDIOT !!!)
Danke für die Hilfe.
Sven
Danny B. schrieb:> Was ist denn der Inhalt von /etc/default/ems-collector? Irgendwo> wird> irgendeine Option nicht passen ;)
Ja, richtig ich hatte einen Schreibfehler in der ems-collector.conf. Ich
habe jetzt noch das Problem, dass keine Werte in die Datenbank kommen.
Dazu habe ich noch ein paar Fragen:
1. muss in der ems-collector.conf der db-path eingegeben werde?
2. wie wird der der db-path beim Starten von collectord als Argument
übergeben? Z.B um zu debuggen?
Ich meine: collectord db-path:localhost:3306 -u ems -p
*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 -f tcp:192.168.178.100:7950
Helmut Jato(Helmbrot) schrieb:> Ich habe jetzt noch das Problem, dass keine Werte in die Datenbank kommen.
Falls du den Collector in den letzten Tagen ausgecheckt/aktualisiert
hast: Hast du die DB-Unterstützung im Makefile angemacht?
> Dazu habe ich noch ein paar Fragen:> 1. muss in der ems-collector.conf der db-path eingegeben werde?
Nein. Standardmäßig wird der lokale MySQL-Socket verwendet. Man muss
diesen Parameter eigentlich nur dann angeben, wenn der MySQL-Server auf
einem anderen Rechner als der Collector läuft.
> 2. wie wird der der db-path beim Starten von collectord als Argument> übergeben? Z.B um zu debuggen?> Ich meine: collectord db-path:localhost:3306 -u ems -p> *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 -f tcp:192.168.178.100:7950
collectord --db-path localhost:3306 ...
Danny B. schrieb:> Helmut Jato(Helmbrot) schrieb:>> Ich habe jetzt noch das Problem, dass keine Werte in die Datenbank kommen.>> Falls du den Collector in den letzten Tagen ausgecheckt/aktualisiert> hast: Hast du die DB-Unterstützung im Makefile angemacht?
Ja hab ich. Ich habe nochmal laut dem Wiki ab dem make alles
durchexerziert. Dem MySql Benutzer habe ich gelöscht und nochmal
angelegt.
Der ems-collector Dienst läuft, ich sehe im http://localhost/status.php
keine neuen Daten, nur die Voreinstellung. Die Telegramme sehen
eigentlich richtig aus? Die Datenbank bleibt leer, ich benutze das tool
MySql Workbench.
Helmut Jato(Helmbrot) schrieb:> Der ems-collector Dienst läuft, ich sehe im http://localhost/status.php> keine neuen Daten, nur die Voreinstellung. Die Telegramme sehen> eigentlich richtig aus? Die Datenbank bleibt leer, ich benutze das tool> MySql Workbench.
Nein, die Telegramme sehen komplett kaputt aus. Du hast nicht zufällig
ein EMS Plus-System, oder?
Danny B. schrieb:> Helmut Jato(Helmbrot) schrieb:>> Der ems-collector Dienst läuft, ich sehe im http://localhost/status.php>> keine neuen Daten, nur die Voreinstellung. Die Telegramme sehen>> eigentlich richtig aus? Die Datenbank bleibt leer, ich benutze das tool>> MySql Workbench.>> Nein, die Telegramme sehen komplett kaputt aus. Du hast nicht zufällig> ein EMS Plus-System, oder?
Nein ich hab was älteres, einen GB125 mit RC35.
Na dann muss ich mir nochmal den Adapter und den NET-IO vornehmen. Ich
habe bei den Net-IO Adapter für den C5 Koppelkondensator statt den 10
uF Tonfrequenz Kondensator einen normalen ELKO genommen, kann das daran
liegen?
Helmut Jato(Helmbrot) schrieb:> [...] einen GB125 mit RC35.
oha ... unerforschtes terrain.
was wir hier machen, basiert auf einem busmaster UBA3(feuerungsautomat).
du hast einen ölkessel, der mit einer kombo mastercontroller MC10 +
feuerungsautomat SAFe arbeitet.
dass die telegramme, mit ausnahme derer vom RC35, nicht kompatibel sind,
halte ich für sehr wahrscheinlich.
//niffko
> oha ... unerforschtes terrain.>
Huch... was verstehe ich jetzt nicht?
Habe hier
Buderus Logano plus GB125-18
• RC35 v1.11
• Logamatic MC10 v2.07
• SAFe v4.28
Habe zwar den collectod noch nicht implementiert, aber die Telegramme,
die bisher mit meinem ESP-EMS Interface empfange, unterscheiden sich
nicht von denen, die im WIKI angegeben sind.
hätte ich jetzt echt nicht gedacht ... um so besser.
was mich mal interessieren würde: haben MC10 und SAFe jeweils eigene
busadressen? wenn ja, von wem kommen die monitor-telegramme(0x18, 0x19)?
und wer ist der master, MC10 oder SAFe? kannst du das erkennen, juergen?
//niffko
gerade mal im ESP-thread geschaut...
den fast-monitor(0x18) gibts bei juergen einmal mit offset 0 und einmal
mit offset 1B. UBA3 sendet nur einmal mit offset 0.
//niffko
Grundsätzlich scheint in dieser Konstellation die Blocklänge auf 32 Byte
begrenzt zu sein und wird deshalb segmentiert übertragen.
UBAErrorMessage1 kommt beispielsweise bei mir in 4 Blocks an:
Niffko _. schrieb:> Helmut Jato(Helmbrot) schrieb:>> [...] einen GB125 mit RC35.>> oha ... unerforschtes terrain.>> was wir hier machen, basiert auf einem busmaster UBA3(feuerungsautomat).>> du hast einen ölkessel, der mit einer kombo mastercontroller MC10 +> feuerungsautomat SAFe arbeitet.>> dass die telegramme, mit ausnahme derer vom RC35, nicht kompatibel sind,> halte ich für sehr wahrscheinlich.>> //niffko
Ich bekomme jetzt auf jedenfall Daten, die Fuses beim Atmega waren nicht
richtig gesetzt. Ob Telegramme inkompatibel sind muss ich noch
überprüfen.
Hallo,
da ja bei mir alles läuft,
bin ich ein wenig dran die Solaranlage zu implementieren.
Ich habe GB162 + RC300 + SM200.
Hat schon mal jemand angefangen damit?
Hier mal kurz meine Erkenntnisse:
MESSAGE[21.03.2016 11:51:20]: source 0x30, dest 0x00, type 0xff, offset
0, data: 0x02 0x62 0x01 0x75 0x01 0x28 0x80 0x00 0x80 0x00 0x80 0x00
0x80 0x00 0x80 0x00 0x80 0x00 0x02 0x2f 0x80 0x00 0x80 0x00 0x80 0x00
MESSAGE[21.03.2016 11:51:20]: source 0x30, dest 0x00, type 0xff, offset
24, data: 0x02 0x62 0x80 0x00
Das sind die Temperatursensoren
TS1 0175h = 37,3°
TS2 0128h = 29,6°
TS5 022fh = 55,9°
den Rest weis ich hier noch nicht, ich nehme aber an, das es alles
Teperatursensoren sind, die ich nicht angeschlossen habe, wobei das
SM200 nur 8 Sensoreingänge hat, passt also nicht ganz.
MESSAGE[21.03.2016 12:05:00]: source 0x30, dest 0x00, type 0xff, offset
0, data: 0x02 0x8e 0x00 0x00 0x61 0xd2 0x00 0x00 0x13 0x40 0x00 0x00
0x53 0x20
Die letzten beiden Bytes 0x5320 ist der angezeigte Solarertrag im
Display (
2128,0 KWh)
Bei mir ist noch ein 3 Wege Ventil sowie die Solarpumpe angeschlossen,
die habe ich aber noch nicht gefunden im Protokoll.
Falls ich noch was finde, melde ich mich wieder.
Evtl. hat jnoch jemand eine SM200 zum Erfahrungsaustausch.
Gruß
Sven
Grünbacher schrieb:> Ich habe GB162 + RC300 + SM200.>> Hat schon mal jemand angefangen damit?
Ich bin mit GB172 + RC300 ausgestattet und würde das auch gerne
implementieren, um bspw. Zirkulation u.ä. manuell zu triggern.
Allerdings sind die Telegramme noch etwas schwer zu verstehen, aber
vielleicht können wir uns trotzdem austauschen.
Grünbacher schrieb:> Hier mal kurz meine Erkenntnisse:> MESSAGE[21.03.2016 11:51:20]: source 0x30, dest 0x00, type 0xff, offset> 0, data: 0x02 0x62 0x01 0x75 0x01 0x28 0x80 0x00 0x80 0x00 0x80 0x00> 0x80 0x00 0x80 0x00 0x80 0x00 0x02 0x2f 0x80 0x00 0x80 0x00 0x80 0x00> MESSAGE[21.03.2016 11:51:20]: source 0x30, dest 0x00, type 0xff, offset> 24, data: 0x02 0x62 0x80 0x00
Die 0xff-Telegramme sind EMS plus-Telegramme mit 2 Byte langen
Typnummern, die funktionieren mit dem Collector im momentanen Zustand
nicht. Ich hatte damit mal angefangen
(https://github.com/maniac103/ems-collector/commits/emsplus), kann das
aber nicht wirklich sinnvoll fortführen, da ich das nicht testen kann.
Mit dem o.g. Branch müsste das Parsen der Telegrammnummern
funktionieren, allerdings müssen sämtliche EMS plus-Telegramme noch
entschlüsselt werden.
@Matthias Feistel
ich wollte erstmal nur die Daten Sammeln und auswerten.
Ich habe keine Ambition die Heizungssteuerung zu ersetzten, dh.
ich möchte keine Kommandos an die Heizung senden.
Wenn dir das reicht, können wir uns gerne zusammen an die Sache dran
machen.
@Danny Baumann
Ich habe mir dein Code gerade mal angeschaut und mit dem aktuellen aus
dem Master Zweig verglichen, ich glaube ich werde es 'strait forward' in
die einzelnen Kommandos einbauen die ich habe/brauche.
Kurze Frage Danny,
bool isRead = m_data[1] & 0x80;
bool isPlus = m_data[2] >= 0xf0 && m_data.size() >= (isRead ? 7 :
6);
woher hast du die Erkenntnis das im ersten Byte &0x80 ein Read Kommando
ist?
Noch eine kurze Geschmacksfrage,
soll ich die EMS+ Kommandos in jeder Funktion unterscheiden,
oder so wie es Danny schon angefangen hat, im Konstruktor
EmsMessage::EmsMessage die Unterscheidung fällen und für alle EMS+
Kommandos neue Funktionen erstellen (zB.
parseSolarMonitorMessagePlus())?
Falls es jemand später nochmal schön schreiben und einchecken möchte
gebe ich natürlich meine Sourcen weiter, alles andere wäre assozial.
mfg.
Sven
Sven G. schrieb:> Kurze Frage Danny,> bool isRead = m_data[1] & 0x80;> bool isPlus = m_data[2] >= 0xf0 && m_data.size() >= (isRead ? 7 :> 6);>> woher hast du die Erkenntnis das im ersten Byte &0x80 ein Read Kommando> ist?
Das ist allgemein gewonnene Erkenntnis :)
http://emswiki.thefischer.net/doku.php?id=wiki:ems:ems-telegramme#anfragen> Noch eine kurze Geschmacksfrage,> soll ich die EMS+ Kommandos in jeder Funktion unterscheiden,> oder so wie es Danny schon angefangen hat, im Konstruktor> EmsMessage::EmsMessage die Unterscheidung fällen und für alle EMS+> Kommandos neue Funktionen erstellen (zB.> parseSolarMonitorMessagePlus())?
Mir wäre es lieb, wenn du die angefangene Struktur beibehältst, d.h.
eine Parsing-Funktion pro Telegrammtyp, zwischen denen in dem Switch in
EmsMessage::handle() ausgewählt wird (dem Konstruktor ist das egal).
Falls sich später rausstellen sollte, dass EMS-Plus- und EMS-Telegramme
praktisch gleich sind, können wir das immer noch ändern, aber ich glaube
da nicht so richtig dran.
Hallo Danny,
das mit dem Konstruktor war falsch von mir.
Werde es in der handle() Routine unterscheiden z.B.:
.........
case EmsProto::addressSM10:
/* SM10 message */
if(isPlus){
/* handle EMS Plus messages */
...........
} else {
switch (m_type){
case 0x97: parseSolarMonitorMessage(); handled = true; break;
}
}
.......
Können wir evtl. auch mal anders in Kontakt treten.
Alles hier so zu posten macht den Thread unübersichtlich und zieht ihn
in die Länge.
Gruß
Sven
Nachdem ich jetzt dem laut dem Wiki den ems-collector mit den Web zum
laufen gebracht habe, möchte ich das neue Frontend zum laufen bringen.
Ich scheitere im Moment an der Installations Anleitung "EMS-Tools
(c) 2014 by Michael Moosbauer" punkt:
5. Start the x emsclient in the CLI-Subdir.
Ich bekomme folgende Fehlermeldung:
helmut@helmut-VirtualBox:~/ems-collector/ems-tools/cli$ bash emsclient
emsclient: Zeile 2: ?php: Datei oder Verzeichnis nicht gefunden
emsclient: Zeile 3: Syntaxfehler beim unerwarteten Wort
»"emsincludes/emsqry.inc"«
emsclient: Zeile 3: `require("emsincludes/emsqry.inc");'
PHP ist installiert, der Pfad ist auch richtig.
P.s.: bin leider kein Linux Kenner, ich habe vermutlich wieder einmal
was nicht richtig verstanden.
Helmut Jato(Helmbrot) schrieb:> emsclient: Zeile 2: ?php: Datei oder Verzeichnis nicht gefunden
kann es sein dass in Zeile 2 nur ?PHP und nicht <?PHP steht?
Hats Du das Original GIT oder das von mir geforkte und von Danny
weiterentwickelte genommen?
IngoF schrieb:> Helmut Jato(Helmbrot) schrieb:>> helmut@helmut-VirtualBox:~/ems-collector/ems-tools/cli$>> Das hört sich nach dem ems-collector an.> Müsste es nicht das Frontend (von Mossys Frontend geforkt) sein:> https://github.com/ingof/ems-php-webinterface
Hallo IngoF, ich verwende die aktuellen ems-tools aus dem Wiki.
Zu "Start the x emsclient in the CLI-Subdir":
Was bedeutet das x ? emsclient ist doch ein script und wird einfach
durch < emsclient <return> gestartet. Wenn ich das mache kommt:
helmut@helmut-VirtualBox:~/ems-collector/ems-tools/cli$ emsclient
emsclient: Befehl nicht gefunden.
Helmut Jato(Helmbrot) schrieb:> IngoF schrieb:> durch < emsclient <return> gestartet. Wenn ich das mache kommt:> helmut@helmut-VirtualBox:~/ems-collector/ems-tools/cli$ emsclient> emsclient: Befehl nicht gefunden.
das schon versucht:
./emsclient
vermutlich sucht er sonst emsclient im Pfad und nicht im lokalen
Verzeichnis.
Keine Ahnung was das x bedeuten soll..
IngoF schrieb:> Helmut Jato(Helmbrot) schrieb:>> IngoF schrieb:>>> durch < emsclient <return> gestartet. Wenn ich das mache kommt:>> helmut@helmut-VirtualBox:~/ems-collector/ems-tools/cli$ emsclient>> emsclient: Befehl nicht gefunden.>> das schon versucht:> ./emsclient>> vermutlich sucht er sonst emsclient im Pfad und nicht im lokalen> Verzeichnis.>> Keine Ahnung was das x bedeuten soll..
Ja das war ein guter Tipp, danke. Der emsclient läuft jetzt wie in der
Installationsanleitung beschrieben.
Mit dem ems-php-webinterface habe ich jetzt noch ein Problem, siehe
Anlage.
Das muss irgendwas mit der Funktion menu() in top.php zu tun
haben,eventuell rechte?
Guten Morgen :)
Nachdem ich den Thread jetzt mehrfach gelesen habe, blicke ich leider
immer noch nicht zu 100% durch, was ich jetzt benötige um meine
Adapterplatine von Ingo (1. Version ohne Ethernet) an einen Raspi zu
bekommen.
Brauche ich dafür einen Umbau meiner Platine (auf Ethernet) oder reicht
der Originalzustand ?
Und dann benötige ich noch zusätzlich den NetIO oder benötige ich den
dann nicht mehr, sondern nur einen Raspi?
Wäre toll jemand mir das jemand für einen DAU erklären könnte :D
Gruß
Jens
Eigentlich nur ein ENC28J60 Ethernet-Platine und ein paar Kabel.
Und neue Firmware.
Notfalls muss noch der Spannungsregler ausgetauscht werden.
Werde mir noch mal das Layout ansehen und eine kleine Anleitung
"basteln"..
Na das klingt doch fast zu einfach :)
So etwas geht?
ENC28J60 Ethernet LAN Network Module For Arduino
Chip board ENC28J60-I/SO<
The board 25MHZ crystal
The network interface board HR911105A
3.3 V power supply pin
3.3 V power supply pin bedeutet dann entweder 5v oder 3,3V oder bedeutet
es NUR 3,3V ?
Unter welchen Umständen muss denn der Spannungsregler ausgetauscht
werden ?
Gruß
Jens
Der ENC28J60 darf nur mit einer Versorgungsspannung von 3,3V betrieben
werden. Die Eingänge sind 5V tolerant. Man kann den ENC28J60 deshalb
direkt am 5V Datenbus betreiben.
Meinst Du die Platine vom Ingo; EMS Gateway? Da habe ich die Spannung
nach dem 5V Spannungsregler abgegriffen. Allerdings habe ich die
Versorgungsspannung vom Netzteil vermindert, damit die Verlustleistung
geringer wird und der Spannungsregler nicht zu heiß wird. Der ENC28J60
kann, so weit ich weiß, bis 200mA Strom ziehen.
@Ingo, ich habe noch nicht herausgefunden wie ich die Daten in die
Datenbank bekomme, da ich kein Raspi habe. Ist es möglich mit deiner
Platine direkt die Daten in die Datenbank zu schreiben?
Jens schrieb:> Unter welchen Umständen muss denn der Spannungsregler ausgetauscht> werden
Der Spannungsregler der in der Platine verbaut wurde kann nur 100mA
Strom liefern.
Also wenn der Strom für die Ethernet-Platine hinter diesem Regler
entnommen wird muss der alte Spannungsregler ausgetauscht werden. Es
gibt allerdings keinen Pinkompatiblen Spannungsregler.
Durch Ausbau von Gleichrichter und Spannungsregler und schließen von
Lötbrücken kann die Platine auch mit 5V aus dem Netzteil versorgt
werden. Das Schaltnetzteil muss dann auf 5Volt umgestellt werden.
Habe ich noch nicht probiert. Sollte aber gehen.
Dann eine Ethernetplatine mit 3,3 Volt SPannungsregler an die 5Volt
anbinden.
Oder aber die Spannung für die 3,3 Volt von der Eingangsspannung nehmen.
Allerdings sollte das Schaltnetzteil auf 9 Volt stehen bleiben. Beim
herunterdrehen der Eingangsspannung kommen hinter dem 5-Volt
Spannungsregler keine 5 Volt mehr heraus.
F. F. schrieb:> Der ENC28J60 darf nur mit einer Versorgungsspannung von 3,3V betrieben> werden. Die Eingänge sind 5V tolerant.
Das stimmt so. Allerdings gibt es auch wenige Platinen die umschaltbar
zwischen 5 und 3,3 Volt sind. Dort ist dann noch ein 3,3Volt-Regler auf
der Platine.
Ich kann nur den von ElekFreak empfehlen weil ich ihn schon mehrfach
verwendet habe:
http://www.elecfreaks.com/estore/enc28j60-mini-ethernet-module-3-3v-5v-bk-enc28m.html
Ist nur lange auf dem Versandweg...
Es gehen auch andere mit 5Volt. Oder eben 3,3 Volt und Du musst Dich um
den Spannungsregler selber kümmern.
F. F. schrieb:> @Ingo, ich habe noch nicht herausgefunden wie ich die Daten in die> Datenbank bekomme, da ich kein Raspi habe. Ist es möglich mit deiner> Platine direkt die Daten in die Datenbank zu schreiben?
Nein, bisher nicht.
Möglich wäre es aber bestimmt mit der richtigen Programmierung.
Bisher geht nur der Weg über ein Programm auf einer Linux-maschine
(RASPI, Diskstation (über Docker), PC/Notebook, ....)
Inzwischen soll das eventuell auch auf Windows gehen.
Hallo F.F., danke für die Antwort ... ja, Ich meine die EMS Gateway
Platine von Ingo.
Dann warte ich mal auf eine Anleitung von Ingo, da ich weder weiß wo ich
was abnehmen müsste, noch auf was ich sonst zu achten habe ;)
Hmm .. jetzt habe ich doch zu lange für die Antwort gebraucht !? Könnte
schwören eben war die von Ingo noch nicht da.
@Ingo: Würdest du eine detaillierte Anleitung zur Verfügung stellen
incl. Liste der benötigten Bauteile ? liebguck
Ich möchte nämlich von der USB Schnittstelle und vom Windows Rechner weg
und auf einen Raspi umziehen.
Jens schrieb:> @Ingo: Würdest du eine detaillierte Anleitung zur Verfügung stellen> incl. Liste der benötigten Bauteile ? liebguck> Ich möchte nämlich von der USB Schnittstelle und vom Windows Rechner weg> und auf einen Raspi umziehen
Gene... Muss nur die alten Eagle-Dateien wiederfinden.... Kann noch
etwas dauern...
Jens schrieb:> Dann warte ich mal auf eine Anleitung von Ingo,
So, die Anleitung besteht aus schönen bunten Bildern:
https://emswiki.thefischer.net/doku.php?id=wiki:ems:emsgwumbau#ethernet_nachruestung
Bei V2.1 muss eigentlich nur ein 1:1 Verbindungskabel genommen werden.
Allerdings sind Kabel 6(blau) und 7(violett) vertauscht.
Bei der Platine V2.0 muss man sich an mehreren verschiedenen
Steckeverbindern "bedienen".
Dabei muss reicht es nur einen gleichfarbigen Puntk auszusuchen.
Je nachdem welche noch frei sind oder welche gerade am besten passen.
Und der Spannungsregler von der Platine muss ausgelötet werden und eine
TO220-Version "eingebaut" werden. Habe jeweils alle möglichen Punkte
gekennzeichnet.
Dabei auf jeden Fall auf Stabilität und und Kurzschlusssicherheit
achten.
Denke es wäre am einfachsten die Beine zurechtzubiegen und auf der
Platine anzulöten. Und dann die Beine mit Heisskleber gegen Sichern.
Das Sichern mit Heisskleber ist auch bei den Kabeln zu empfehlen wenn
die direkt in die Lötpunkte angelötet werden.
Gruß
Ingo
Hallo Ingo,
werde heute anfangen die Platine umzubauen und hätte da noch ne Frage
zur Firmware. Ich benötige ja in meinem Fall die FW für die alte Platine
mit Eth. Support, wie komme ich daran (ist nicht im WIki hinterlegt) und
wann muss ich die aufspielen, vor dem Umbau oder danach oder ist das
egal ? Gibts dabei noch etwas zu beachten ?
Gruß
Jens
Nur aus Neugier: habt Ihr schon mal über ein ESP8266 WLAN Modul
nachgedacht? Das ist billig und praktisch.
Für den Datenverkehr wünsche ich mir eigentlich ein Gerät im Zentrum
(Raspi, Syno NAS usw.), das als MQTT Message Broker von allen SmartHome
Geräten Messages empfängt und allen erlaubt, andere Messages zu
abonnieren. Das würde die Integration verschiedener Dinge erheblich
vereinfachen...
Was meint Ihr?
Hmm,
so (Beitrag "EMS > ESP8266-12 WLAN-Modul") in etwa?
Mit der esp-link Basis von TvE sind bereits folgende Funktionalitäten
vorhanden: Web-Server, MQTT Client, syslog Client, telnet Interface,
SNTP
Aber ich denke, das ist in dem zitierten Thema besser aufgehoben - ich
will hier nicht hijacken oder das Thema verwässern...
Jens schrieb:> Äh .. wie jetzt ? geht nicht oder doch? Du musst erst noch basteln> oder> ich kann eine davon benutzen ?? verwirrt bin
Die Firmware ist damals für die größeren PIC erstellt worden.
Der alte PIC hat weniger Speicher.
Muss mir das mal genauer ansehen wieviel Speicherplatz die Firmware
verwendet und ob das mit dem alten PIC noch passt.
Auf meinem Rechner will er gerade die Firmware nicht mehr kompilieren.
Und heute habe ich keine Zeit dazu....
Erst mal sehen wie der Stand der Dinge ist...
IngoF schrieb:> Bitte mal Rückmeldung geben wenn Deine Platine erfolgreich getestet> wurde.>
Heureka! Die Platine funktioniert!
Hab mir zwischenzeitlich aus Frust die fertige, gebrauchte Platine von
Frank gekauft, aber nun ist mein eigenes Platinchen fertig, der NetIO
geflashed und auch der collectord läuft rund.
*Damit habe nun ich eine fertige Platine und einen fertig mit ethersex
geflashten 644p abzugeben. Falls jemand Interesse hat, PM an mich.*
Über folgende Dinge bin ich beim erstellen der Software gestolpert und
würde daher folgendes im Wiki ändern:
- beim "apt-get" /libboost1.50-all/ in libboost-all-dev ändern (auf
den aktuellen Raspbians ist die aktuell V1.55 in diesem Meta-Package
drin)
- die Konfiguration des Mysql-Users aus dem "Tipps"-Abschnitt direkt
nach der (berechtigten) Kaffee Bemerkung einfügen
Grüße
Torsten G.
Torsten G. schrieb:> Über folgende Dinge bin ich beim Erstellen der Software gestolpert und> würde daher folgendes im Wiki ändern:> ...
... erledigt!
Danke für den Hinweis!
Helmut J. schrieb:> Mit dem ems-php-webinterface habe ich jetzt noch ein Problem, siehe> Anlage.> Das muss irgendwas mit der Funktion menu() in top.php zu tun> haben,eventuell rechte?
Hallo Helmut
wurde in einem frühen Post schonmal erwähnt, man muss folgende Änderung
vornehmen:
Datei: mconfig.php, erste Zeile
<?
ändern in
<?php
Der Fix ist noch in keinem der GIT-Repositories gelandet (und ich hab
keine Ahnung von forken und einchecken ;-) )
Grüße
T.
Torsten G. schrieb:> Datei: mconfig.php, erste Zeile> <?
Eigentlich hatte ich bei verschiedenen Dateien das schon ergänzt. Diese
hatte ich wohl vergessen.
Ist jetzt geändert und die Github-Links am Ende sind auch angepasst.
Bei den anderen Änderungen war Karl schneller...
ingof schrieb:> Auf meinem Rechner will er gerade die Firmware nicht mehr kompilieren.> Und heute habe ich keine Zeit dazu....
Habs gerade noch mal probiert.
Die Software benötigt 2240 Byte RAM und der alte PIC hat nur 1536.
So stark kann man den RAM-Verbrauch mal nicht so einfach einschränken.
Also werden noch folgende Bauteile benötigt (Bauform in Klammern):
2x 22pF Kondensator für Quartz (0805)
1x PIC 18F4685 (TQFP-44)
1x 10 MHz-Quartz (SM49)
Habe nur mal kurz überflogen. Bei Reichelt habe ich den PIC nicht
gefunden.
Bei HBE-Shop (farnel) sind dann für Bauteile und Versand etwa 32 Euro
fällig.
Dann wird aber noch ein Programmiergerät für den PIC notwendig.
Könnte das wohl für Dich einbauen und programmieren.
Müsstest dann nur Hin und Rückversand bezahlen.
Entweder Bauteile selber bestellen und mitschicken oder ich würde sie
dann für Dich bestellen
ingof schrieb:> ingof schrieb:>> Bei HBE-Shop (farnel) sind dann für Bauteile und Versand etwa 32 Euro>> fällig.>> Versand sind alleine 15 Euro....
Conrad:
1084328 - 62
155561 - 62
1279314 - 62
für 17EUR inkl Versand
Hallo Ingo,
vielen Dank.
Werde die Teile bestellen und Dir dann alles zuschicken.
Melde mich noch mal wenn die Teile da sind, der Pic hat leider
Lieferzeit von 1,5 Wo
Gruß
Jens
Hallo
nachdem nun alles läuft, soll das ganze noch einen höheren WAF bekommen
;-)
1.) Kann man den Raspi als 5V-Spannungsquelle für den NetIO nehmen? Ich
würde mir gerne ein Netzteil einsparen...
2.) Hat jemand seine Platine + NetIO in einem Gehäuse untergebracht?
Welches habt ihr da genommen?
Viele Grüße,
Torsten G.
Torsten G. schrieb:> ...> 1.) Kann man den Raspi als 5V-Spannungsquelle für den NetIO nehmen? Ich> würde mir gerne ein Netzteil einsparen...
NetIO (J6) und Raspi an einem Netzteil sollten kein Problem sein, wenn
das Teil ausreichend Leistung bringt; 2A sollten genügen.
> 2.) Hat jemand seine Platine + NetIO in einem Gehäuse untergebracht?
Nö, liegt noch offen. Mein Bastelkeller ist WAF-intolerant. ;-)
Gruß
Karl M.
Moin
bin mir nicht klar ob das bug oder feature ist:
Ich bekomme keine Raumtemperatur angezeigt. Die Variable
"roomcurrenttemperature" wird immer als "unbekannt" angezeigt. Da ich
eine Raumtemperatur geführte Heizung nutze und meine Bedieneinheit eine
Wert anzeigt, vermute ich ein Problem im EMS-Collector.
Any Ideas?
@Karl: meine Konstruktion steht in Sichtrichtung vom Bügelbrett und wenn
ich die tradierte Rollenverteilung beibehalten will, muss ein Gehäuse
her ;-)
Grüße
Torsten G.
Torsten G. schrieb:> bin mir nicht klar ob das bug oder feature ist:> Ich bekomme keine Raumtemperatur angezeigt. Die Variable> "roomcurrenttemperature" wird immer als "unbekannt" angezeigt. Da ich> eine Raumtemperatur geführte Heizung nutze und meine Bedieneinheit eine> Wert anzeigt, vermute ich ein Problem im EMS-Collector.
Wo genau wird dir etwas als 'unbekannt' angezeigt?
Zum Eingrenzen von Fehlern in Collector vs. Frontend ist es immer
hilfreich, sich mal mit Telnet auf den Daten-Port (meistens 7778) des
Collectors zu verbinden. Fällt der gesuchte Wert dort raus, ist das
Problem im Frontend, ansonsten im Collector.
>> (nicht "unbekannt", wie ich ursprünglich geschrieben habe)
Und du hast nur einen Heizkreis?
Starte den Collector mal bitte mit '-d message' und lade das Log mal
irgendwo hoch - ich guck dann mal rein.
Ein Tipp zum Gehäuse:
Im Beitrag "Re: EMS > Adapter > NetIO > Raspi" und ff.
hatte ich meine Lösung beschrieben. Sieht gut aus und nimmt alle
Komponenten auf. WAF ist auch OK, fast schon overkill, da im
Technikkeller installiert und das ist eigentlich mein Hoheitsgebiet.
Aber das Auge isst ja auch mit :-)
LG
N'Abend
Ich bin auf der Suche nach den nächsten Käfern im WebInterface, komme
aber nicht dahinter:
Im Webserver-Log kommen im 10-sekunden-Rhythmus folgende Fehler:
1
2016-04-19 21:10:44: (mod_fastcgi.c.2695) FastCGI-stderr: PHP Notice: Undefined index: heater maintenancedue in /var/www/html/ems-php-webinterface/www/lemscnt.ajax on line 63
2
2016-04-19 21:10:44: (mod_fastcgi.c.2695) FastCGI-stderr: PHP Notice: Undefined index: hk1 automode in /var/www/html/ems-php-webinterface/www/lemscnt.ajax on line 67
wenn ich die Seite "Livestatus" aufrufe.
@Danny: Ja, ich habe nur einen Heizkreis. Wg Log->PM
@Lorenz: Danke für den Hinweis - hab ich überlesen. So langsam wird der
Thread unübersichtlich ;-)
Servus
Torsten G.
Hallo,
Ich habe noch ein Problem mit Mosis ems-php-webinterface. Ich kann Daten
empfangen,aber scheinbar keine Anforderungen senden. Die TX LED leuchtet
nicht auf.
Leuchtet die TX LED auf, wenn eine Anforderungen versucht wird, oder
wenn die Anforderung erfolgreich gelaufen ist?
Fehlermeldung in Mosis emsclient:
z.B:
ems:/> hk1 getholiday
ERRTIMEOUT
ems:/>
der req uba geht.
ems:/> req uba
heater targettemperature = 30
ww targettemperature = 10
heater currenttemperature = 70.3
...
Konfiguration: Ölkessel GB125 mit RC35 und 2 Heizkreisen
Die Raumtemperatur steht an Offset 3, und 0x7d 0x00 ist 'nicht
verfügbar'. Warum das bei dir so ist, kann ich dir allerdings nicht
sagen; ich vermute aber mal, dass die RC (welche?) nicht dem Heizkreis
zugeordnet ist. Bei der RC30 steht der entsprechende Punkt in Abschnitt
5.8.4 der Serviceanleitung, bei der RC35 ist das Abschnitt 6.4.1.
Danny B. schrieb:> Die Raumtemperatur steht an Offset 3, und 0x7d 0x00 ist 'nicht> verfügbar'. Warum das bei dir so ist, kann ich dir allerdings nicht> sagen; ich vermute aber mal, dass die RC (welche?) nicht dem Heizkreis> zugeordnet ist. Bei der RC30 steht der entsprechende Punkt in Abschnitt> 5.8.4 der Serviceanleitung, bei der RC35 ist das Abschnitt 6.4.1.
Das war's! Meine RC30 war dem HK1 nicht zugeordnet. Das könnte eventuell
auch erklären, warum die Heizung bei 20,5° Solltemperatur immer noch
gebollert hat, obwohl die Bude auf 23° geheizt war...
roomcurrenttemperatur wird jetzt angezeigt und (oh wunder) die Heizung
folgt jetzt auch der Raumtemperatur.
* Danke Danny! *
Hallo zusammen,
ich habe jetzt mal versucht die alte Version der EMS Platine von Ingo
über USB (serial Port) mit einem Pi zu verbinden.
Installation nach Anleitung und scheinbar erfolgreich:
Mai 01 17:34:47 raspberrypi ems-collector[1470]: Starting EMS collector daemon: collectord.
10
Mai 01 17:34:47 raspberrypi systemd[1]: Started LSB: EMS collector daemon.
Die Firmware ist die aus dem Wiki (2.1 Beta 131118) und Ausgabemodus ist
RAW (getestet mit Putty über USB direkt an der Platine).
Auf der Webseite wird allerdings nix angezeigt, außer "Bitte warten
(10%)"
Das Rohdatenfenster bleibt auch leer.
Ausgabe der Daten im Terminalfenster:
pi@raspberrypi:~ $ sudo collectord -u ems -p password -f -d all
serial:/dev/ttyUSB0
IO: Got bytes 0x30 0x38 0x20
IO: Got bytes 0x30 0x30 0x20 0x31 0x39 0x20
IO: Got bytes 0x30 0x30 0x20 0x30 0x30 0x20 0x39 0x66 0x20 0x30 0x31
0x20 0x35 0x65 0x20
IO: Got bytes 0x38 0x30 0x20
IO: Got bytes 0x30 0x30 0x20 0x30 0x30 0x20 0x30 0x30 0x20 0x30 0x30
IO: Got bytes 0x20 0x33 0x66 0x20
Ist jetzt einfach nur das Datenformat noch nicht passend, so das der
Collector damit etwas anfangen kann oder habe ich Dinge bei der
Installation vergessen bzw. falsch gemacht.
Was kann ich noch tun um zu testen ob alles korrekt ist ?
Gruß
Jens
Jens H. schrieb:> Die Firmware ist die aus dem Wiki (2.1 Beta 131118) und Ausgabemodus ist> RAW (getestet mit Putty über USB direkt an der Platine).
Was hat denn der Test ergeben, was wurde denn da ausgegeben? Das was ich
hier sehe ist ASCII, nicht raw.
> Ausgabe der Daten im Terminalfenster:>> pi@raspberrypi:~ $ sudo collectord -u ems -p password -f -d all> serial:/dev/ttyUSB0> IO: Got bytes 0x30 0x38 0x20
08<space>
> IO: Got bytes 0x30 0x30 0x20 0x31 0x39 0x20
00 19
> IO: Got bytes 0x30 0x30 0x20 0x30 0x30 0x20 0x39 0x66 0x20 0x30 0x31> 0x20 0x35 0x65 0x20
00 00 9f 01 5e
> IO: Got bytes 0x38 0x30 0x20
80
usw.
Da ist im Gateway noch was schief...
Das sieht prinzipiell richtig aus, ist aber Ingo's (zu meinem
inkompatibles) Format (aa 55 data len 55 aa statt aa 55 len data
checksum). Darüber hatten wir ja schon mal gesprochen.
Ingo, hängst du noch an diesem Format oder könntest du das mit dem
Netz-Protokoll glattziehen?
Jens H. schrieb:> Ok, habe jetzt an statt der DIP Schalter das Ganze über Putty umgestellt> auf Kr 1 ... sollte dann jetzt aber RAW sein.
Dann hattest Du auch schon nicht mehr die erste Firmware drauf hatte ich
ncicht dran gedacht.
Danny B. schrieb:> Ingo, hängst du noch an diesem Format oder könntest du das mit dem> Netz-Protokoll glattziehen?
Nö, hatte historische Gründe. Werde das in der nächsten Zeit ändern.
Kann noch ein paar Tage dauern..
IngoF schrieb:> Nö, hatte historische Gründe. Werde das in der nächsten Zeit ändern.> Kann noch ein paar Tage dauern..
Das wäre toll, habe nämlich Urlaub und könnte dann weiter machen :)
Gruß
Jens
Jens H. schrieb:> Das wäre toll, habe nämlich Urlaub und könnte dann weiter machen :)
Kann natürlich keine Terminzusage machen.
Ist gerade schönstes Wetter und der Vorgarten ist gerade fertig
geworden..
Hallo,
ich habe den Raspberry Pi und den Net IO soweit zum laufen gebracht,
dass der CollectorD die Rohdaten anzeigt und richtig interpretiert.
Mein Problem: das Einrichten der ems-tools und des ems-php-webinterface
Beim starten des "emsclient" findet das Programm die
"emsincludes/emsqry.inc" nicht, obwohl ich im Linux root Verzeichnis ein
Symlink mit "ln -s" auf /home/pi/ems-tools/includes erstellt habe.
Unter emsincludes werden auch alle Dateien angezeigt.
Wozu wird der Symlink erstellt? Kann das Programm nicht einfach aus dem
Ausführordner auf die includes zugreifen?
Kann mir jemand einen Tip geben?
Gruß
Arnold
Arnold P. schrieb:> Hallo,> ich habe den Raspberry Pi und den Net IO soweit zum laufen gebracht,> dass der CollectorD die Rohdaten anzeigt und richtig interpretiert.>> Mein Problem: das Einrichten der ems-tools und des ems-php-webinterface>> Beim starten des "emsclient" findet das Programm die> "emsincludes/emsqry.inc" nicht, obwohl ich im Linux root Verzeichnis ein> Symlink mit "ln -s" auf /home/pi/ems-tools/includes erstellt habe.> Unter emsincludes werden auch alle Dateien angezeigt.>> Wozu wird der Symlink erstellt? Kann das Programm nicht einfach aus dem> Ausführordner auf die includes zugreifen?>> Kann mir jemand einen Tip geben?>> Gruß> Arnold
Welche Quellen hast Du genommen? github.com/ingof/... ??
Ich habe ja aus verschiedenen Quellen Bugfixes und Änderungen
eingepflegt.
Ich hatte zumindest mal gesehen dass die emsincludes relativ statt
absolut angegeben wurden. Hatte überlegt ob ich das eingepflegt hatte.
Also statt "/emsincludes" "emsincludes". Dann müsstest Du also in dem
Pfad in dem auf die emsincludes zugegriffem wird den link setzen un
nicht im root-Verzeichnis.
Kannst ja mal nachsehen in welcher Datei der Fehle gemeldet wird. Diese
Dateien öffnen und nachsauchen ob dort /emsinlcudes oder emsincludes
angegeben ist.
Ich habe gerade mal einige Dateien durcsucht aber weder /emsincludes
noch emsincludes gefunden.
Dann muss ich aber noch das Wiki anpassen...
Habe es gerade gefunden.
Die Pfade sind jetzt relativ. in Emsincludes steht folgendes:
1
require("emsincludes/emsqry.inc");
es würde reichen einfach den Order emsincludes ins Verzeichnis vom
emsclient zu verschieben oder zumindest den link dorthin zu erstellen.
Vielleicht kann ich das ja schon direkt github ändern.
Ingo F. schrieb:> Vielleicht kann ich das ja schon direkt github ändern.
Also ich habe den emsincludes dort gelassen wo er ist.
habe dann in emsclient den Pfad auf ../emsincludes geändert.
Genaus die Pfade in den Dateien im Scripts Ordner.
Ich hoffe ich habe nichts "verschlimmbessert"
Arnold P. schrieb:> Kann mir jemand einen Tip geben?
Sag mal bescheid ob es jetzt läuft.
Habe jetzt keinen Verweis im ems-php-webinterface auf /emsincludes
gefunden.
Falls doch kann man vermutlich nicht ganz so einfach komplett auf den
link im Wurzelverziehnis zu emsincludes verzichten...
Jens H. schrieb:> Das wäre toll, habe nämlich Urlaub und könnte dann weiter machen :)
So, habe mich bei dem schönen Wetter mal in den Keller verkrochen damit
Du Dich auch in den Keller verkriechen kannst ;-)
So sieht jetzt die Ausgabe aus:
1
AA 55 09 10 08 1A 00 00 00 00 00 91 93
2
AA 55 01 01 01
3
AA 55 01 01 01 AA 55 07 10 08 35 00 11 11 30 1D
@Danny sollte doche schon mal ganz gut aussehen, oder?
Denke das ACK muss noch anders gesendet werden (01)
Die Richtung emscollector Richtung EMS-Gateway ist noch unverändert.
Aber vielleicht hilft die Richtung emscollector schon mal etwas
weiter...
Werde Dir den ersten Versuch heute abend mailen.. Jetzt muss ich erst
mal wieder ans Tageslicht...
>> @Danny sollte doche schon mal ganz gut aussehen, oder?
Ja. Die Prüfsumme hab ich nicht nachgerechnet, ich traue dir allerdings
zu, ein running XOR zu implementieren ;)
> Denke das ACK muss noch anders gesendet werden (01)
Jup. Das sende ich als Fake-Paket: <source> <dest = 0xb> <type = 0xff>
<0x1 oder 0x4> - und das Framing natürlich noch außendrum. Ist für das
serielle Interface aber eh egal, da ich da senden im Moment nicht
unterstütze.
Jens H. schrieb:> Oh oh .. senden geht seriell nicht ? :(> Also muss ich doch auf Ethernet umbauen ?
Wenn du (in absehbarer Zeit) zur Heizung senden willst schon. Ich hatte
das nie implementiert, da meine damalige serielle Hardware (ein Atmega8)
nur eine serielle Schnittstelle hatte, man aber 2 gebraucht hätte. Das
kann man alles noch nachziehen, allerdings macht mir das aus 2 Gründen
im Moment Probleme: Zeitmangel und die fehlende Möglichkeit, das zu
testen. Wenn du etwas Geduld mitbringst (2-3 Wochen), kann ich das mal
testweise implementieren, damit du das verifizieren kannst.
Danny B. schrieb:> Jup. Das sende ich als Fake-Paket: <source> <dest = 0xb> <type = 0xff>> <0x1 oder 0x4>
Um Unklarheiten auszuschließen:
DU, als NetIO, sendest das Fake-Paket und nicht DU, als Collector?
Die ACK NACK werden ja auf dem EMS-Bus vom Bus-Master gesendet wenn ein
Telegramm beim Busmaster empfangen wurde. Der Bus-Teilnehmer sendet ja
diese Telegramme nicht.
Oder sendet der collector die Telegramme auch noch an den NetIO. Wenn
dann werden die nur vom NetIO ausgewertet und nicht an den EMS-Bus
weitergeleitet?!
Denke dann muss ich "EMS > EMS-GW > Raspi" im Wiki auch noch anpassen...
Danny B. schrieb:> ich traue dir allerdings zu, ein running XOR zu implementieren
Danke für das Vertrauen :-D
Danny B. schrieb:> und die fehlende Möglichkeit, das zu> testen.
Notfalls hätte ich noch zeitweise einen EMS-Gateway den ich dir
ausleihen könnte. Aber die hin und her schickerei lohnt sich wohl eher
nicht.
Das umbauen der Empfangsfunktion könnte bei mir auch so 2-3 Wochen
daueren.
Daten werden also größtenteils entschlüsselt.
Ne Idee was der Rest dazwischen ist, muss das so sein oder habe ich noch
Einstellungen zu ändern ?
Ich musste nämlich im Gateway die Option CatchAll auf 1 setzen, damit
über etwas ankommt.
Gruß
Jens
Hallo Jens,
schön zu hören dass es schon läuft.
Unhandled Message bedeutet nur dass das Telegramm dem Collector nicht
bekannt ist.
Aber das Telegramm 0x07 scheint generell noch nicht bekannt zu sein.
Das IOBytes sind die Daten die empfangen wurden
Sobald ein *MESSAGE[Zeitstempel]* ausgegeben wird hat der collector die
Nachricht (IOBytes) korrekt empfangen.
Das CatchAll ist defaultmäßig immer deaktiviert und muss erst aktiviert
sein.
Hat den Grund dass nicht sofort massenhaft Daten ausgegeben werden bevor
der EMS-Gateway richtig konfiguriert wurde.
Sonst ist aber schon alles eingestellt und muss/soll nicht mehr
verändert werden.
Hallo IngoF;
ich habe noch ein Problem im dem ems-php-webinterface gefunden:
Im Bild Live Status Bild unter Betriebsart wird der Automatik Betrieb
nicht angezeigt. Lösung:
In lemscnt.ajax zeile 67)
Den hk1 automode gibt es nicht. es gibt den hk1 opmode
67 print("<tr><td valign=top>Betriebsart</b><br><font size=+1>".($d["hk1
daymode"]=="on"?"Tag":"Nacht")."</font><br> ".($d["hk1
opmode"]=="auto"?"Automatik":"Manuell"));
Das Problem vom Arnold P. mit dem Symlink mit "ln -s" hatte ich auch.
"Beim starten des "emsclient" findet das Programm die
"/emsincludes/emsqry.inc" nicht".
Lösung: Habe unter Nautilus (Ubuntu) im Ordner
/home/helmut/ems-collector/ems-tools/includes eine Verknüpfung gesetzt
und diese ins /var/www/html kopiert.
Wie das über das Terminal geht würde mich sehr interessieren.
Die Änderungen mit dem "opmode" habe ich gerade so übernommen.
Dummerweise ist Github gerade nicht erreichbar...
Helmut J. schrieb:> as Problem vom Arnold P. mit dem Symlink mit "ln -s" hatte ich auch.
habe gerade gesehen dass es auch noch im ems-php-webinterface massenhaft
verknüpfungen nach /emsincludes gibt.
Wo kann man denn am besten den Link generell hinsetzen?
/emsincludes ist nicht soooo toll, oder?
Wohin packt man denn sowas am besten /opt/emsinludes, /etc/emsinclude,
/var/emsincludes oder vielleicht /home/user/emsincludes?
Oder wäre es nicht besser gleich den ganzen Order an einem bestimmten
Ort zu packen?
vielleicht kann ich dann ja eine install.sh Datei oder ähnliches
erstellen.
Gruß
Ingo
[quote]
pi@raspberrypi:~/ems-tools/cli $ ./emsclient
PHP Warning: require(../emsincludes/emsqry.inc): failed to open stream:
No such file or directory in /home/pi/ems-tools/cli/emsclient on line 3
PHP Fatal error: require(): Failed opening required
'../emsincludes/emsqry.inc'
(include_path='.:/usr/share/php:/usr/share/pear') in
/home/pi/ems-tools/cli/emsclient on line 3
[/quote]
Jens H. schrieb:> Helmut bei mir nicht funktioniert :(
Dieser symbolische Link ist für das php-webinterface. Also die Dateien
die im Webverzeichnis liegen und den zugriff zu den Dateien benötigen.
(aber sind dort wird doch auch auf die /emsinlcudes zugegriffen, oder?!)
Bei Dir meckert "emsclient"
Habe jetzt die Pfade wieder im GIT auf /emsincludes geändert.
Also einfach den symbolischen Link im Wurzelverzeichnis erzeugen wenn Du
die Dateien neu aus dem GIT geholt hast.
also:
Hallo Ingo,
Zu)
Wo kann man denn am besten den Link generell hinsetzen?
/emsincludes ist nicht soooo toll, oder?
Ich meine /usr/local/lib ist nicht schlecht.
Gruß
Helmut
Helmut J. schrieb:> Ich meine /usr/local/lib ist nicht schlecht.> Gruß> Helmut
Ja, denke das ist generell schon mal ganz gut.
Allerdings sind (noch) alle Dateien auf "/emsincludes" gesetzt.
Dann müsstest Du jetzt erst mal selber sämtliche Dateien in den
ems-tools (4-5) und in ems-php-webinterface anpassen auf
"/usr/local/lib/"
oder eben erst einmal auf "/emsincludes" lassen und dann im
Wurzelverzeichnis erstellen.
Ich hatte den Link schon im Wurzelverzeichnis und auch schon mit dem /
vorne und auch ohne.
Den emsclient muss ich eigentlich wo hin kopieren? Ich habe die
ems-tools jetzt erst mal nur in /home/pi/ems-tools und habe im
Unterordner CLI dann den client gestartet!?
Bin aus der Installationsanleitung nicht schlau geworden :(
tcp 0 0 0.0.0.0:7778 0.0.0.0:* LISTEN aus (0.00/0/0)
Wie man sieht geht der 7778 einwandfrei, der 7777 ist nicht vorhanden,
wird also trotz Eintrag in der Config gar nicht erst gestartet. Hängt
das mit der fehlenden Sendeunterstützung per USB zusammen ? Falls nicht,
wo kann ich suchen um den Fehler zu finden ?
Dadurch das der 7777 nicht geht, wird im WebIf natürlich auch nix
angezeigt. Lediglich das Protokoll der Servicecodes geht.
Gruß
Jens
Jens H. schrieb:> Wie man sieht geht der 7778 einwandfrei, der 7777 ist nicht vorhanden,> wird also trotz Eintrag in der Config gar nicht erst gestartet. Hängt> das mit der fehlenden Sendeunterstützung per USB zusammen ? Falls nicht,> wo kann ich suchen um den Fehler zu finden ?
Ja, tut es. Ohne Sendeunterstützung ist der Kommando-Port vollkommen
sinnlos, weil sämtliche Kommandos senden können müssen, um zu
funktionieren; aus diesem Grund wird er ohne Sendeunterstüzung auch
nicht angeknipst.
Ok, so etwas hatte ich mir schon gedacht, schade. Dann muss ich warten
bis zu Zeit findest das einzubauen.
Auf die Daten kann ich mir zumindest schon mal über eine Verbindung zur
SqlDB von extern lesend zugreifen.
Wie ist das, besteht eigentlich die Möglichkeit die Daten, die auf dem
7778 angezeigt werden auch auf einem Port nach extern verfügbar zu
machen? Der 7778 geht ja nur lokal auf dem Raspi.
Gruß
Jens
Jens H. schrieb:> Wie ist das, besteht eigentlich die Möglichkeit die Daten, die auf dem> 7778 angezeigt werden auch auf einem Port nach extern verfügbar zu> machen? Der 7778 geht ja nur lokal auf dem Raspi.
Der muss auch von anderen Rechnern im Netzwerk erreichbar sein (und ist
es in meiner Installation auch). Sieht man ja auch in deiner
netstat-Ausgabe oben, dass er auf die IP 0.0.0.0 (= alle) gebunden ist.
Davon war ich ausgegangen, habe aber die Verbindung nicht hinbekommen,
aber ich habe die ganze Zeit den Port falsch übergeben. Kaum macht man
es richtig, schon funktioniert's.
Ich sollte das lieber tagsüber machen und nicht mitten in der Nacht. ;)
Vielen Dank für die schnellen Antworten.
Habe inzwischen durch die Pfandanpassungen die EMS Tools zum laufen
gebracht.
Im Moment komme ich mit dem Webinterface nicht weiter. Als Webserver
verwende ich den Lighttpd mit PHP addon.
Habe die www-Dateien von "https://github.com/ingof/ems-php-webinterface"
in den html Ordner des lighttpd kopiert(und die Konfigurationsdateien
angepasst). Im Webbrowser lassen sie sich öffnen, bekomme jedoch keine
EMS Daten angezeigt. Die Seite "EMS-Rohdaten" bleibt leer. Auch der
Funktionstest zeigt nichts an.
Im lighttpd log befinden sich auch keine Fehler.
Irgendwie klappt die Schnittstelle Webbrowser->EMS-Tools nicht.
Hat jemand eine Idee?
Gruß
Arnold
Also wenn die EMS-Tools einwandfrei laufen, dann sollte das klappen.
Siehst du den auf keiner Seite im Webfront etwas, auch keine
Fehlermeldung ?
Wie hast Du geprüft ob die Tools laufen ? Telnetverbindung zu 7777 und
7778 klappt ?
Gruß
Jens
Habe den Fehler gefunden. Durch eine falsche Zeiteinstellung auf dem Pi
habe ich die lighttpd server logs falsch interpretiert. Es war doch ein
Fehler eingetragen. Er hat eine Datei nicht gefunden.
Habe übersehen den Pfad in der Datei emsdetail.ajax zu korrigieren.
Scheint alles, bis auf die Statistik graphs, zu funktionieren.
Ingo, welches Format hättest du denn gerne als Input zum Senden über die
serielle? Ich hätte an etwas ähnliches gedacht wie beim Empfangen, nur
ohne Senderadresse ... also so in etwa:
0xaa 0x55 <len> <dest> <type> <payload0> ... <payloadX> <checksum>
wobei Checksum wieder das running XOR ist. Ich kann auch gerne noch die
Absenderadresse mit einfügen, dann ist's ganz konsistent.
Meinungen?
Danny B. schrieb:> 0xaa 0x55 <len> <dest> <type> <payload0> ... <payloadX> <checksum>
klingt doch gut. Und das running XOR startet dann auch bei <dest>.
Denke ich setze den Pfad bei den ems-tools und ems-php-webinterface auf:
1
/usr/local/lib/ems/include
Wie meintest Du das mit $PREFIX. Wo und wie hast Du das PREFIX gesetzt?
am liebsten würde ich auch dazu tendieren emstools und das
ems-php-webinterface in ein github-repository zu packen. Eigentlich wird
ja immer nur beides zusammen benötigt, oder?
Ingo F. schrieb:>> 0xaa 0x55 <len> <dest> <type> <payload0> ... <payloadX> <checksum>>> klingt doch gut. Und das running XOR startet dann auch bei <dest>.
Bin gerade dabei das neue Empfangsformat "einzubauen".
Denke es wäre besser doch noch die Quelladresse vom EMS-Bus einzubauen.
Sonst muss ich zuviel umbauen. Das erste Byte benutze ich zum erkennen
ob EMS-Daten oder CAN-Daten empfangen wurden.
also
Ingo F. schrieb:> 0xaa 0x55 <len> <src> <dest> <type> <payload0> ... <payloadX> <checksum>
Hallo Danny,
der "Serial Collector Support" ist jetzt drin und läuft
z.B die Abfrage für Datum und Zeit:
Guten Tag,
nach dem ersten Fehlschlag vor einigen Wochen habe ich nun mit einem
sauberen Raspbian Jessie neu gestartet. Das lief gleich vieeeeel besser
:) Momentan hängts beim Einrichten des Service und der Erreichbarkeit
auf Port 7777.
collectord wurde kompiliert und liegt nunmehr im Pfad
sudo /home/pi/ems-collector/collector/collectord -u ems -p *** -f -d all tcp:****:7950
ausführen. Dann funktioniert die Verbindung zum NetIO problemlos und die
Daten des EMS-Bus kommen an.
Jetzt habe ich die Configs wie im Wiki beschrieben angelegt.
1
/etc/default/ems-collector
und
1
/etc/ems-collector.conf
und jeweils das SERIALDEVICE sowie db-user und db-pass angepasst.
Die Datei
1
/etc/init.d/ems-collector
habe ich auch angelegt, aber Zeile 21 nicht angepasst. Dort steht
unverändert
1
PROG="/usr/local/sbin/$PROGNAME"
Einbindung in die Startscripte ist ebenfalls erfolgt.
1
service ems-collector
funktioniert auch. Dienst wird gestartet und gestoppt, Statusabfrage
funktioniert.
Aber Port 7777 ist nicht erreichbar. Ich habe die vage Vermutung, dass
die Verknüpfung von collectord und ems-collector nicht vorhanden ist?!
In welchen Pfad wird der ems-collector Ordner von Github normalerweise
abgelegt? Und wo muss die collectord hin? Kann die überhaupt unter
Nutzer "pi" verbleiben?
Wie muss ich jetzt beim Einrichten des Website verfahren? Sowohl
emstools als auch das Webinterface von Github laden und einrichten? Oder
reicht das Webinterface als standalone?
Der Server-Ordner wird im Wiki mit "srv/www" angegeben. Ist das bei
Verwendung von lighttpd analog der Ordner /var/www/html, aus welchem
aktuell das php-Skript für den Webserver geladen wird?
Freue mich auf eure Antworten!
Viele Grüße
Florian
Florian R. schrieb:> und jeweils das SERIALDEVICE sowie db-user und db-pass angepasst.jeweils ist bestimmt nicht gut. Such Die einen Ort für die
Konfiguration aus.
Ich fand es am besten in der einen Datei nichts anzugeben und Link zur
Konfigdatei zu aktivieren und dort dann alles festzulegen.
Probleme wird es spätestens dann geben wenn in einer Datei was anderes
Konfiguriert ist. Keine Ahnung was der collector dann daraus macht.
Habe das jetzt gerade mal im Wiki geändert
Florian R. schrieb:> Wie muss ich jetzt beim Einrichten des Website verfahren?
Zuerst die ems-tools "installieren" und testen.
Das ems-php-webinterface benötigt zwingend die ems-tools.
Florian R. schrieb:> Server-Ordner wird im Wiki mit "srv/www"
Das ist der Ordner in dem die Dateien für den Webserver liegen. Je nach
webserver gibt es einen anderen Pfad der angepasst werden muss.
Ingo F. schrieb:> Probleme wird es spätestens dann geben wenn in einer Datei was anderes> Konfiguriert ist. Keine Ahnung was der collector dann daraus macht.
Bislang haben Config-Datei-Optionen Kommandozeilenoptionen
überschrieben. Da das eher unüblich ist, habe ich das grade mal
geändert.