Beiträge von horchi

    neue Version ist im git.


    Änderungen:
    - verbessertes recover handling der seriellen Schnittstelle
    - Fehlerbehebung beim versenden der Störungs Emails
    - neue Status Logos übernommen
    - neue Heizungs-Logos für die unterschiedlichen Typen übernommen
    - Typ der Heizung (und damit das Logo) ist im WEBIF einstellbar (Settings ganz unten)


    Die Auswahl der Heizungstypen richtet sich nach den Bildern welche nach dem Schema heating-*.png benannt sind.


    Grüße Jörg

    die Adressen der Fühler für die Charts bekommst du mit p4 values -d <dein device> auf der Kommandozeile oder indem du in config.php debug auf 1 stellst dann werden sie in den Tabellen mit angezeigt. Für die Charts muss auf der Setup Seite der Dezimalwert (nicht Hex) eingetragen werden. Die Werte der versch. Status stehen in der Datei service.c oder etwas weiter unten hier im Thread.


    Beides will ich auf der Setupseite noch anzeigen, dann wird es einfacher.


    @all für die Stürungsmails lohnt ein update, habe die Tage ein Bugfix ins git geschoben.

    Ich kenne diese:



    Für alles mit 'Warten' wird die Kaffeetasse angezeigt die Logos für für Heizen, Betriebsbereit und Störung sind okay denke ich. Für den Rest hab ich noch nicht nettes gefunden. Für mache Status die nur mal kurz auftreten benötigt man sicher keines.

    Cool Danke, Bilder sind im git!
    Wenn du gerade dabei bist *duck*, hast du auch welche für verschiedenen Status, für Betriebsbereit wird ja das der Heizung angezeigt, für Heizen und Warten hab ich schon eins für die anderen Status fehlen noch nette Logos


    Fix für main.php ist auch im git, Der Fehler sollten nur aufgetreten sein wenn er den p4d nicht erreichen konnte.


    Zum Namen, fachte schon an s3200d statt p4d, ist aber eine ganze Menge Arbeit die Quellen und vor allem das git bei github umzustellen :(

    Zitat

    Im Zündungsmenü zeigt er nicht, dass ich "externe Zündung" gewählt habe. (Geht bei mir über einen externen Pufferthermostat auf den Freigabeeingang des S4).


    habe ich nicht ganz verstanden, du meinst im WEBIF in nder Menü Ansicht steht was anderes als auf dem Display der Heizung bei dem entspr. Menüpunkt? Auch wenn du in der Menü-Ansicht mal oben 'Aktualisieren' drückst (dazu musst du angemeldet sein)


    Was macht die Anzeige der Außentemperatur?

    okay, hab den Index in den Code übernommen, plus noch einen auf 'requestat', nicht das der Cleanup der Tabelle am Ende noch unnötige Last erzeugt.


    Ah connect kannte ich noch nicht, ich verwende immer use (vermutlich das selbe) oder gehe direkt so drauf:

    Code
    mysql -Dp4 -u p4 -pp4


    Dafür hab ich auch einen Alias:

    Code
    alias p4db='mysql -Dp4 -u p4 -pp4 --default-character-set=utf8'


    damit passt auch gleich das charset, das will man ja nicht immer tippen müssen ;)

    bei mir zeiht der mysqld immer um die 3%-5% und ab und an mal 10% egal ob der p4d läuft oder nicht. Geht die Last beim beenden des p4d runter?


    Wie hast du denn interval und stateCheckInterval stehen? Hilft es wenn du stateCheckInterval erhöhst?


    Das einzige was er alle 50ms macht ist ein ganz billiger select auf die jobs Tabelle um nachzusehen ob eine Anfrage vom WEBIF ansteht.


    Ggf. passt bei dir mit den Indices noch nicht.


    Was sagt denn

    Code
    mysql> explain select * from jobs where state = 'P';
    +----+-------------+-------+------+---------------+------+---------+------+------+-------------+
    | id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra       |
    +----+-------------+-------+------+---------------+------+---------+------+------+-------------+
    |  1 | SIMPLE      | jobs  | ALL  | NULL          | NULL | NULL    | NULL |  465 | Using where |
    +----+-------------+-------+------+---------------+------+---------+------+------+-------------+


    Ups, jetzt wo ich es sehe :o wenn viel in der Tabelle ist kann es schon last erzeugen da fehlt ein Index auf State. Wobei die Tabelle nur die Requests der letzten 2 Tage enthält, der Rest wir automatisch weg geräumt.


    mach mal bitte:

    Code
    mysql> create index idxState on jobs(state);


    danach sollte es so ausschauen:

    Code
    mysql> explain select * from jobs where state = 'P';
    +----+-------------+-------+------+---------------+----------+---------+-------+------+-------------+
    | id | select_type | table | type | possible_keys | key      | key_len | ref   | rows | Extra       |
    +----+-------------+-------+------+---------------+----------+---------+-------+------+-------------+
    |  1 | SIMPLE      | jobs  | ref  | idxState      | idxState | 6       | const |    1 | Using where |
    +----+-------------+-------+------+---------------+----------+---------+-------+------+-------------+


    bin gespannt ob es hilft. Ich baue das anlegen dieses Indizes in den p4d.


    Jörg

    Fehler vom p4d im Log?


    Das p4 Kommandozeilentool (hab ich zum testen geschrieben) wird mit dem p4d mit installiert.


    Damit kann man so die Stammdaten Sensoren abfragen:

    Code
    root@raspberrypi:~# p4 values -d /dev/ttyUSB1


    so filterst du die Ausgabe auf den Außentemperaturfühler:

    Code
    root@raspberrypi:~# p4 values -d /dev/ttyUSB1 | grep -i Auß | head -1
     61) 0x0004    2 '°' (0002) 'Außentemperatur'


    der zweite Wert ist die Adresse des Fühlers und der dritte der Faktor, mit der Adresse nun so den Wert Abfragen:


    Code
    root@raspberrypi:~# p4 getv -a 4 -d /dev/ttyUSB1 
    value 0x4 is 6


    dann durch den Faktor teilen ergibt bei mir 3°C
    das Device beim Aufruf musst du ggf. anpassen oder falls ttyUSB0 kannst du es auch ganz weglassen

    sieht prima aus bei dir.


    Untersützung für die One-Wire Sensoren kommt, hab mir schon welche bestellt ;)


    Gibt schon eine weitere Anfrage für externe Sensoren im ASCII Format von Philipp, ich möchte nicht zu viele Sonderlocken einbauen. Ich lasse mir zusätzlich zu den One-Wire noch EIN weiteres generisches Interface einfallen, entweder über ASCII von einer Seriellen Schnittstelle oder vermutlich besser da noch allgemeiner einsetzbar via Filesystem


    BTW: für die vordefinierten Charts hast du noch wenige Sensoren aktiv ;)


    Grüße Jörg