Gleichzeitiges Absetzen von "neighborUpdate" für mehrere Geräte

Begonnen von krikan, 13 Juni 2016, 16:45:12

Vorheriges Thema - Nächstes Thema

krikan

Habe heute einmal versucht ein "neighborUpdate" mit einer RegEx-devspec aufzurufen ("set ZWave_SWITCH_MULTILEVEL.* neighborUpdate", usw).
neighborUpdate scheitert in diesen Fällen bei mehr als 2 matchenden Geräten reproduzierbar jeweils mit dem Event "ZW_REQUEST_NODE_NEIGHBOR_UPDATE failed". Wenn nur 2 Devices angesprochen werden, wird teilweise ein neigborUpdate ordnungsgemäß mit "ZW_REQUEST_NODE_NEIGHBOR_UPDATE done" abgeschlossen; das andere scheitert wieder.

Dann habe ich ein neigbhorUpdate gestartet und weitere per notify auf "ZW_REQUEST_NODE_NEIGHBOR_UPDATE started" gestartet. Auch hier scheitern die neighborUpdates zumeist mit "failed". Wobei das Vorgehen häufiger zum Erfolg "done" führt als per RegEx-devspec.

Zuletzt bin ich hingegangen und habe ein weiteres neighborUpdate für ein weiteres Gerät erst bei "ZW_REQUEST_NODE_NEIGHBOR_UPDATE done" oder "ZW_REQUEST_NODE_NEIGHBOR_UPDATE failed" starten lassen. Dieser Ablauf lässt die neighborUpdate problemlos auch über mehrere Geräte hinweg durchführen.

Meine Schlußfolgerungen/Vermutung für meine Umgebung: Ein neighborUpdate-Befehl an den Controller/Gerät muss mit "done" oder "failed" abgeschlossen sein, bevor der nächste neigborUpdate-Befehl an den Controller weitergegeben werden darf. Wenn jemand anderes feststellt, bitte melden.

rudolfkoenig

Ich tippe darauf, dass bei einem ausstehenden ZW_REQUEST_NODE_NEIGHBOR_UPDATE auch andere Befehle (set/get) schiefgehen: der ZWDongle Firmware ist nicht in der Lage, mehrere nicht abgeschlossene Aufgaben parallel zu bearbeiten. Das wird in FHEM fuer get bereits beachtet, neighborUpdate muesste also zu einem "get" werden.

Eigentlich brauchen wir ein "neighborUpdateAll", was der Reihe nach die Geraete abklappert.

krikan

Zitat von: rudolfkoenig am 13 Juni 2016, 17:08:59
Ich tippe darauf, dass bei einem ausstehenden ZW_REQUEST_NODE_NEIGHBOR_UPDATE auch andere Befehle (set/get) schiefgehen
Habe ich nicht probiert. Aber sicherlich hast Du recht. Unangeforderte Nachrichten wurden teilweise korrekt verarbeitet.

ZitatDas wird in FHEM fuer get bereits beachtet, neighborUpdate muesste also zu einem "get" werden.
Einziger Controllerbefehl bei den ZWave-Devices ist derzeit neighborList und das funktioniert so als Vorlage nicht.

ZitatEigentlich brauchen wir ein "neighborUpdateAll", was der Reihe nach die Geraete abklappert.
Das wäre dann im ZWDongle-Device? Ich wollte über die devspec-Nutzung das über den vorhandenen ZWave-Device-Befehl probieren.

Bei ZW_ASSIGN_RETURN_ROUTE und den anderen von mir eingebundenen Controller-Befehlen gibt es mit Regex-devspecs auch noch Probleme; denke das dürfte ein ähnliches Problem sein.

rudolfkoenig

ZitatEinziger Controllerbefehl bei den ZWave-Devices ist derzeit neighborList und das funktioniert so als Vorlage nicht.
Hab mich versucht beim Umbau, und bin dran gescheitert.
Was mir aufgefallen ist: wir warten nur bei den get des gleichen Geraetes auf die Antwort, bevor wir weitermachen, bei mehreren Geraeten laeuft es parallel ab. Scheinbar funktioniert es auch parallel, habe es aber nur mit 2 probiert.
Fuer "get neighborList" muesste ich eine Sonderbehandlung machen oder alle gets in einem Topf werfen, beides ist mir jetzt zu viel.

krikan

Keine Eile.  :)

Zitatwir warten nur bei den get des gleichen Geraetes auf die Antwort, bevor wir weitermachen, bei mehreren Geraeten laeuft es parallel ab. Scheinbar funktioniert es auch parallel, habe es aber nur mit 2 probiert.
Ist mir bisher nicht aufgefallen. Habe aber mit dem Sendstack sowieso meine (Verständnis-)Probleme.


A.Harrenberg

Hi Christian,
Zitat von: krikan am 13 Juni 2016, 21:46:20
Habe aber mit dem Sendstack sowieso meine (Verständnis-)Probleme.
willkommen im Club ;-)

Hoffentlich kommt übermorgen mein neues (gebrauchtes) Laptop, das muss ich dann "nur" noch auf Windows 10 updaten und mir 'ne virtuelle Linux-Maschine da drauf knallen, dann kann ich das Ding dann übernächste Woche mit in Urlaub nehmen und schauen ob ich eure ganzen Änderungen nachvollzogen bekomme.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

krikan

Zitat von: A.Harrenberg am 13 Juni 2016, 22:30:02
Hi Christian,willkommen im Club ;-)
Na ja, immerhin verstehst Du sicherlich den SECURITY-Code um den ich einen großen Bogen mache...

Zitat
Was mir aufgefallen ist: wir warten nur bei den get des gleichen Geraetes auf die Antwort, bevor wir weitermachen, bei mehreren Geraeten laeuft es parallel ab. Scheinbar funktioniert es auch parallel, habe es aber nur mit 2 probiert.
Bei meinem Controller mit 4er Chipsatz funktioniert ein gleichzeitiges get bei einem laufenden neighborUpdate (verschiedene Geräte) nicht zuverlässig. Die Nachrichten gehen teilweise durch CANs verloren. Was mich wundert: Werden nicht 3 Sendeversuche von ZWave-Geräten bei CAN an den Controller durchgeführt? Ich sehe bei allen bisherigen Versuchen nur eine.

A.Harrenberg

Hi Christian,
Zitat von: krikan am 14 Juni 2016, 09:50:38
Na ja, immerhin verstehst Du sicherlich den SECURITY-Code um den ich einen großen Bogen mache...
na ja, das ist jetzt auch schon 'ne Weile her das ich mich damit beschäftigt habe. Aber die "high-level" Funktionen sind ja für das System mehr oder weniger transparent. Die Nachrichten werden "normal" erzeugt, dann "abgefangen und verschlüsselt versendet", davon bekommt man im Normalfall ja nichts mit. Beim Empfang ist es ähnlich, die verschlüsselte Nachricht wird abgefangen, entschlüsselt und dann wieder "normal" per Dispatch verarbeitet.

Die "low-level" Funktionen, also die Verschlüsselung an sich habe ich damals eng an OZW angelehnt, wobei dort sogar ein Fehler drin war... Die Funktionsweise der Verschlüsselung habe ich auch nicht wirklich verstanden, dazu muss man glaube ich Mathematiker oder Cryptologe sein ,-)

Dafür bist Du mir bei den Protokollsachen was Routing oder die Controllerbefehle angeht um einiges voraus.

Wenn ich dran denke das ich eigentlich noch vorhabe einen ZWave-Aktor zu bauen habe ich da noch einiges aufzuholen.

Gruß,
Andreas
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

rudolfkoenig

Habe neighborUpdate serialisiert, mehrere auf einmal zu planen funktioniert damit bei mir.

Bei neighborUpdateAll sehe ich das Problem, dass das nur bei nicht WAKE_UP Geraeten sinnvoll ist, und damit nicht wirklich "All" ist.
Falls ihr eine andere/bessere Idee habt, bitte melden.

Weiterhin ist timeToAck jetzt ein Reading (ohne Event), damit man nach einem Neustart diese Werte noch hat und beim Malen verwenden kann.

krikan

ZitatHabe neighborUpdate serialisiert, mehrere auf einmal zu planen funktioniert damit bei mir.
Danke.

ZitatBei neighborUpdateAll sehe ich das Problem, dass das nur bei nicht WAKE_UP Geraeten sinnvoll ist, und damit nicht wirklich "All" ist.
Mir ist nicht klar, warum das nicht sinnvoll ist?
Bei den WAKE_UP-Geräten müsste neighborUpdate doch in den Sendstack gelegt werden, sonst muss man für die WAKE_UP-Geräte weiterhin einzeln ein Update anstoßen?
(Und eigentlich wäre eine Info schön, welche neighborUpdate mit welchem Ergebnis schon durch sind und welche nicht.. - Aber ich probiere erst mal Deine Änderung aus, bevor ich weiter philosophiere und es eventuell schon drin ist und ich es nur im Code nicht erkenne ;) )

krikan

Habe es mit 15 netzbetriebenen Geräten getestet:
Grundsätzlich alles OK.

Auffälligkeiten bei Extrembelastungen (also nicht überbewerten):
Auf ein failed, kommt bei 5 Tests immer noch ein failed beim nächsten Node. Zufall?
Mehrfaches Absetzen von "set TYPE=ZWave neighborUpdate" hintereinander mag mein Controller nicht. neighborUpdate endet dann irgendwann nur noch in failed und Erholung erst nach Controller ein- und abstecken.
Abarbeitung der offenen neighborUpdate unterbleibt teilweise. Dann kann ich weitere Absetzen ohne dass diese  verarbeitet werden (set XY neighborUpdate im Log, aber keine weitere Aktion). Wie kann ich feststellen was/wo es hängen bleibt? Im Log kann ich die Ursache nicht erkennen. Gibt es kein timeout?

Ergebnis von neigborUpdate fände ich nützlich in den Readings der Nodes.


krikan

Zitat von: krikan am 07 Juli 2016, 21:16:24
Abarbeitung der offenen neighborUpdate unterbleibt teilweise. Dann kann ich weitere Absetzen ohne dass diese  verarbeitet werden (set XY neighborUpdate im Log, aber keine weitere Aktion). Wie kann ich feststellen was/wo es hängen bleibt? Im Log kann ich die Ursache nicht erkennen. Gibt es kein timeout?
Ursache ist vermutlich 2x, dass kein done bzw. failed kommt. Demnach vermute ich: es gibt keinen timeout.

docfred

#12
Möchte diesen Grundlagen-Thread nutzen, um ein paar Fragen zu stellen, die ich nicht 100% beantwortet gefunden habe.

1. Falls ich nur ZW+ Devices einsetzte: Mit Explorerframes ist ein SUC überflüssig oder ist die Kombination das beste.
2. Bei einem Stick ist SUC nicht aktiviert. Wie mache ich das. Der Befehl SUCNodeId steht auf no und erwartet drei Parameter.
3. Sollte sich ein ZW+ Netz nicht selbst heilen? Also selbständig ein NeigborhoodUpdate durchführen? Bzw. sollte der Controller  dies auf Anordnung nicht selbst erledigen?
4. Wenn ich SUC aktiviere würde dann der Controller auch die SIS Funktion übernehmen?
5 Wenn ich in einem ZW+ Netz ein SDK 5 Gerät habe hat dies keine Auswirkung auf die Funktion in 3. solange alle ZW+ Geräte eine Route über ZW+ Geräte haben?

6. Wenn ich ein SDK5 Slave habe, kann ich dieses nur in direkter Reichweite zum Controller inkludieren. Wenn ich dieses Device dann an eine andere Position verbringe, reicht dann ein NeigborhoodUpdate? Oder wie gehe ich mit dem Befehl AddReturnRoute um? Kann ich ja nur Definieren, wenn ich das Device erreiche?

Viele Fragen,
Vielen Dank im vorraus Friedemann

rudolfkoenig

Habe Timeouts fuer neighborUpdate eingebaut, weiterhin wird neighborUpdate ab sofort als Device Reading/Event gemeldet, und nicht mehr als ZWDongle event.

krikan

Hallo Friedemann!

Einige Anmerkungen zu Deinen Fragen nach meinem aktuellen Kenntnis- und Vermutungsstand. Mangels offizieller Doku müssen wir vieles erforschen und sind noch lange nicht am Ende.

Zitat1. Falls ich nur ZW+ Devices einsetzte: Mit Explorerframes ist ein SUC überflüssig oder ist die Kombination das beste.
SUC ist mMn überflüssig, wenn alle Geräte (wozu auch der Controller gehört!) ExplorerFrames unterstützen. ZW+ ist dabei nicht zwingend, sondern nur EF-Unterstützung.  Schlußfolgerung aus http://wiki.zwaveeurope.com/index.php?title=SDK_Versions_and_Explorer_Frames und ich konnte bei einem 2wöchigen Test in meinem Netz mit ausschließlich EF-unterstützenden Geräten keine SUC-Nachrichten loggen.
Zitat
2. Bei einem Stick ist SUC nicht aktiviert. Wie mache ich das. Der Befehl SUCNodeId steht auf no und erwartet drei Parameter.
Wenn ControllerNodeId =1 und nur SUC aktiviert werden soll:
set <ZWDongle> sucNodeId 1 1 0
Es müssen anschließend die Routen zum basic SUC den Geräten zugewiesen werden. Andere Controller müssen über "sucSendNodeId" über die Existens des SUC informiert werden.
Zitat3. Sollte sich ein ZW+ Netz nicht selbst heilen? Also selbständig ein NeigborhoodUpdate durchführen? Bzw. sollte der Controller  dies auf Anordnung nicht selbst erledigen?
Gehe davon aus, dass alles automatisch läuft. Der Controller sollte alles von alleine machen. neighborUpdate ist in diesem Fall mMn nicht zwingend. Genaue Wechselwirkung ist aber unklar. Spekulation: Evtl. werden durch das neighborUpdate unnötige EF bei Netzänderungen vermieden und darum evtl. schnelleres Netz.
Zitat4. Wenn ich SUC aktiviere würde dann der Controller auch die SIS Funktion übernehmen?
Wenn Du den nicht nur den "basic SUC" aktivierst, sondern auch den SIS (statt der letzten 0 im obigen Befehl 1) wird der Controller zum SIS. Unterscheidung im Netz zwischen Primär- und Sekundärcontroller entfällt. Alle Controller sind dann Inklusionscontroller. Der SIS und der (regelmäßige) Abgleich aller Controller mit dem SIS muss aber anschließend manuell in FHEM angestoßen werden. In einem Netz aus nur EF-fähigen Geräten ist das meiner Meinung nach aber nicht notwendig. NetworkWide Inklusion sollte immer funktionieren.
Zitat5 Wenn ich in einem ZW+ Netz ein SDK 5 Gerät habe hat dies keine Auswirkung auf die Funktion in 3. solange alle ZW+ Geräte eine Route über ZW+ Geräte haben?
Vermutlich. Nur das SDK 5 -Gerät bekommt nicht automatisch die Verbindung zum Controller.
Zitat6. Wenn ich ein SDK5 Slave habe, kann ich dieses nur in direkter Reichweite zum Controller inkludieren. Wenn ich dieses Device dann an eine andere Position verbringe, reicht dann ein NeigborhoodUpdate? Oder wie gehe ich mit dem Befehl AddReturnRoute um? Kann ich ja nur Definieren, wenn ich das Device erreiche?
Auch ohne SUC könnte neighborUpdate reichen. Mit einem SUC und nach sucRouteAdd könnte nach Ortsveränderung evtl. kein neighborUpdate notwendig sein, da die SUC-Automatik hilft. Da ich keine SDK 5-Geräte habe, kann ich so etwas nicht testen.

Genug vermutet, vielleicht hat jemand ja auch noch weitere/andere/bessere Infos..

Gruß, Christian

@Rudi: Danke!

rudolfkoenig

#15
So, jetzt durfte ich auch mal spielen, siehe Anhang :)
Zu erreichen in der Detailansicht der ZWDongle.

Voraussetzung: viele Geraete mit neighborList.

Achtung: noch nicht fertig. Insb. wird timeToAck nicht dargestellt, und auch keine unidirektionale Verbindungen. Wer nette (und realisierbare!) Ideen hat, der darf sich melden. Eine automatisch Platzierung habe ich nicht vor, es sei denn, jemand spendet es. Touchscreen funktioniert auch noch nicht (glaube ich). Vermutlich werden auch nicht alle Sonderfaelle abgefangen, also bitte Geduld, und hier melden.

P.S.: sehe gerade, dass es mit FireFox nicht tut (habe mit Chrome getestet). Das braucht also nicht gemeldet zu werden :)

krikan

So eine Spielzeit gefällt mir.
Zitatsehe gerade, dass es mit FireFox nicht tut (habe mit Chrome getestet). Das braucht also nicht gemeldet zu werden
Ich widerspreche ungern: Aber bei mir tut es mit FF 47 und 47.0.1 genauso wie mit IE 11 und Edge.
Bei meiner Testinstallation sind die Standard-Devicenamen nur etwas zu lang (siehe Anhang)  :)


krikan

Zitat von: krikan am 08 Juli 2016, 20:55:05
So eine Spielzeit gefällt mir. Ich widerspreche ungern: Aber bei mir tut es mit FF 47 und 47.0.1 genauso wie mit IE 11 und Edge.
Hast natürlich doch recht. Das freie Verschieben der Nodes ist bei Firefox nicht OK.

docfred

Bin zu blöd oder unwissend. Wie kann ich die map anzeigen?

krikan

Hast du die Dateien manuell aus dem svn geholt? Per update kommen die erst morgen ca. 8 Uhr.

docfred


rudolfkoenig

Noch ein spaeter Patch:
- Firefox text-width & move fix
- Je-nach Verbindung Pfeile. Ist vmtl. bei breiten Texten je nach Richtung versteckt, habe aber keine bessere Idee.

docfred

#22
Guten morgen,
bei mir kommt unterhalb des links "Hide neighbor list" nur ein blaues kleines Rechteck (in Firefox 47.01 und in EDGE auf Windows 10)
ca 40x20px

krikan

Scheint am verwendeten Style zu liegen: Bei mir funktioniert es mit den gleichen Browsern nur mit dem "default" style. Bei allen anderen (ios6, ios7, bright, dark) sehe ich auch nur dieses Quadrat.

docfred

Stimmt, liegt am style. In Firefox und EDGE geht es. Allerdings ohne verschieben.

rudolfkoenig

Ich habe
- IE11 gefixt
- die Styles fuer dark/ios6/ios7 angepasst
- die Pfeilspitzen-Farbe ins CSS ausgelagert
- Touch aktiviert, auf einem iPad und einem Android Telefon scheint es zu funktioneren. Wobei die Karte fuers Telefon zu gross ist.
- die Aenderungen (ausnahmsweise) fuer upload zur Verfuegung gestellt

Edge kann ich nicht testen, wuerde mich interessieren, ob es funktioniert.

krikan

Bei mir stimmt bei den anderen Styles die Anzeige immer noch nicht. Das Quadrat sieht jetzt aus, wie eine Miniaturausgabe der korrekten Anzeige. default ist Ok.
Auch mit meiner Anpassung an der zwave_neighborlist.js (damit ich die Bildschirmfläche ausnutze)
var width=screen.width,height=screen.height;

ist nur im default-Style alles ok. Anzeige der anderen Styles ist unverändert zu ohne diese Änderung. Edge und Firefox verhalten sich dabei gleich.

jeep

Am Anfang sah ich in FF 47.01 auch nichts. Nachdem ich irgendeinen Style gewählt, und wieder auf default bin, kam die neighbor list.
Habs mal angehängt.

Grüße, Josef
Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)

krikan

Zitat von: jeep am 09 Juli 2016, 13:59:51
Am Anfang sah ich in FF 47.01 auch nichts. Nachdem ich irgendeinen Style gewählt, und wieder auf default bin, kam die neighbor list.
In den anderen Styles auch? Weil default-Style funktioniert bei mir auch problemlos. Umgeschaltet habe ich schon x-mal.

jeep

Zitat von: krikan am 09 Juli 2016, 14:05:18
In den anderen Styles auch? Weil default-Style funktioniert bei mir auch problemlos. Umgeschaltet habe ich schon x-mal.

Nein, es geht nur der default Style, aber auch im Testsystem erst nach umschalten. Vorher war nur das Viereck da.
 
Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)

rudolfkoenig

Wg. den Styles: prueft bitte ob am Ende der jeweiligen *Common.css Datei ein Abschnitt mit .zw* sich befindet. Und versucht den Browsercache zu leeren.

Die Flaeche der Karte sollte vom Anzahl der Geraete abhaengen. Kennt jemand einen einfach zu implementierenden Platzieralgorithmus? Ich habe mal einen ziemlich abgefahrenen implementiert, mal schauen, ob ich das ausgraben/verwenden kann. Komme aber heute nicht mehr dazu, auch wenn es juckt :)

@jeep: kannst du mir deine Konfiguration/Statefile zuschicken, mir reichen dabei die ZWave Definitionen. Ich brauche was groesseres zum Testen.
@Christian: in deinem Fall brauchen wir etwas, damit die Rechtecke kleiner werden.

jeep

Zitat von: rudolfkoenig am 09 Juli 2016, 15:25:27

@jeep: kannst du mir deine Konfiguration/Statefile zuschicken, mir reichen dabei die ZWave Definitionen. Ich brauche was groesseres zum Testen.


Kann ich es hier anhängen oder wo hättest Du es gern? 
Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)

krikan

Zitat von: rudolfkoenig am 09 Juli 2016, 15:25:27
Wg. den Styles: prueft bitte ob am Ende der jeweiligen *Common.css Datei ein Abschnitt mit .zw* sich befindet. Und versucht den Browsercache zu leeren.
.css Dateien enthalten Passus. Browsercaches geleert. Anderen Rechner genutzt auf dem bisher noch nie die fhem-Seite aufgerufen wurde. Leider keine Besserung. default ist Ok. Alle anderen styles haben die angehängte Miniaturansicht der neigbhorlist; vor Deiner letzten zum update freigegebenen Änderung war das dann nur ein gefülltes Quadrat. Änderungen an width und hight in der zwave_neighborlist.js wirken sich bei default immer sofort beim Reload aus, während bei den anderen Styles sich nichts ändert.
(Btw: Persönlich setze ich im Normalbetrieb nur default ein)

Zitat@Christian: in deinem Fall brauchen wir etwas, damit die Rechtecke kleiner werden.
Rechteckgröße stört mich nicht wirklich. Ich hätte lieber einen größeren Anzeigebereich, den ich mir wie oben gezeigt, behelfsmäßig gebastelt hatte. Auf Mobiltelefon werde ich neighborlist-Anzeige vermutlich nie nutzen.

jeep

Also bei mir habe ich in beiden Systemen nur in der defaultCommon.css den .zw* Abschnitt.
Statefile ist hier angehängt.
Viel Erfolg!
Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)

krikan

Zitat von: jeep am 09 Juli 2016, 16:24:58
Also bei mir habe ich in beiden Systemen nur in der defaultCommon.css den .zw* Abschnitt.
Rudi hatte heute im Laufe des Tages (außerplanmäßig) Änderungen für das update bereitgestellt. Dann hast Du vermutlich das letzte Update heute morgen davor gemacht!?

docfred

in der ios7common.css  und ios6common.css sind die .zw Styles auch drin, nur mit anderen Farben

Trotzdem zeigt der ios7 und der ios6 Style nur das kleine Fenster

jeep

Zitat von: krikan am 09 Juli 2016, 16:30:33
Rudi hatte heute im Laufe des Tages (außerplanmäßig) Änderungen für das update bereitgestellt. Dann hast Du vermutlich das letzte Update heute morgen davor gemacht!?

Stimmt, ich war heute morgen früh dran.

Habe vorhin gesehen das meine Liste nicht komplett war, da haben ein paar devices gefehlt.  :-[

Nochmal ein aktueller screenshot
Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)

krikan

Nach dem heutigen Update funktionieren alle styles bei mir. Warum, verstehe ich zwar nicht (im update waren nur FHEMWEB, SVG, Telnet, ENiGMA2) aber Hauptsache es funktioniert...

krikan

Zitat von: krikan am 10 Juli 2016, 08:40:36
Nach dem heutigen Update funktionieren alle styles bei mir. Warum, verstehe ich zwar nicht (im update waren nur FHEMWEB, SVG, Telnet, ENiGMA2) aber Hauptsache es funktioniert...
Einschränkung: Nur mit Chrome unter Android. Mit Firefox 47 und Edge unter Win10 weiterhin Miniaturansicht (siehe oben).

rudolfkoenig

Die Minitauransicht hat damit was zu tun, ob man nach dem Stil-Wechsel einen vollstaendigen reload macht, oder default.css nachwirkt, habs aber gefixt. Weiterhin die Kommunikation zwischen .js und .pm von einem festkodierten "list" auf was sinnvolleres umgestellt, damit sind andere Module auch in der Lage das .js zu verwenden. Die Breite habe ich auf 960px erweitert, die Hoehe wird je nach Anzahl der Geraete groesser, min. ist 480.
Wenn man den Anhang (@jeep: danke fuer die Daten) betrachtet, habe ich meinen Zweifel, ob solche Maps sinnvoll sind.

krikan

Zitat von: rudolfkoenig am 10 Juli 2016, 17:19:48
habe ich meinen Zweifel, ob solche Maps sinnvoll sind.
Ist tatsächlich schwierig bei einer größeren Nodeanzahl. Ich habe die Nodes ein paar Mal hin- und herschieben müssen, bevor ich überhaupt einen Überblick über "Problemnodes" (zu wenig Nachbarn) hatte. Die Grafik enthält eben sehr viele Infos.
Finde diese Lösung jedoch zB deutlich besser als die Domoticz-Kreislösung.
Z-way und Openzwave nutzen eine textbasierte Tabellenlösung, die ich recht informativ finde. Jedoch verbunden mit Infoverlusten im Vergleich zu FHEM.

krikan

Styles funktionieren ohne Probleme.
Waren immer schon die Endpoint-Devices .0x in der Grafik enthalten? Sind mMn überflüssig, da die neighborList doch immer im Hauptdevice steht und die Endpoints keine eigene haben.

rudolfkoenig

Hab ein auto-layout gefunden und angepasst, Ergebnis siehe Anhang.Man kann den Layouter aergern waehrend er arbeitet. Wer Lust hat an den 20+ Parameter rumzudrehen, der soll die .js Datei anschauen, Funktion GM.

Man koennte noch: transitions einbauen (damit es nicht ruckartig bewegt), die Pepper-Bilder anzeigen, und timeToAck als tooltip.

Neu: die Position muss man mit "Send layout to FHEM" weiterschicken, es passiert nicht mehr automatisch, wenn man ein Rechteck bewegt hat.

krikan

Ich schön wieder mit einem Problem  :-[ :

Ein Klick auf "Start auto layout" führt bei mir zu Nichts. Es gibt keine sichtbare Reaktion.
Auffällig ist die JS-Console.
Firefox 47.0.1:
21:23:38.058 HELLO fhemweb.js:282:5
21:23:38.222 FW_queryValue:{ReadingsVal("ZWDongle_0","addNode","")} fhemweb.js:282:5
21:23:38.241 FW_queryValue:{AttrVal("ZWDongle_0","room","")} fhemweb.js:282:5
21:23:38.418 Longpoll with filter ZWDongle_0 fhemweb.js:282:5
21:23:38.517 Rcvd:  fhemweb.js:282:5
21:23:41.023 ZWNL called with ZWDongle_nlData("ZWDongle_0") fhemweb.js:282:5
21:23:41.028 FW_cmd:/fhem?cmd={ZWDongle_nlData("ZWDongle_0")}&XHR=1 fhemweb.js:282:5
TypeError: fnRet.el[nl[i2]] is undefined
zw_al()
zwave_neighborlist.js:253
zw_nl/</<()
zwave_neighborlist.js:50
m.event.dispatch()
jquery.min.js:3
m.event.add/r.handle()
jquery.min.js:3
zwave_neighborlist.js:253:11


IE 11:
21:14:13.260 ZWNL called with ZWDongle_nlData("ZWDongle_0")
21:14:13.299 FW_cmd:/fhem?cmd={ZWDongle_nlData("ZWDongle_0")}&XHR=1
SCRIPT5007: Die Eigenschaft "idx" eines undefinierten oder Nullverweises kann nicht abgerufen werden.
zwave_neighborlist.js (253,7)
SCRIPT5007: Die Eigenschaft "idx" eines undefinierten oder Nullverweises kann nicht abgerufen werden.
zwave_neighborlist.js (253,7)


Wenn das am Browsercache liegt, bitte vergessen. Ich habe alle mir bekannten Browsercache-Löschungsversuche hier und auch beim vorigen Problem ohne Erfol durch.

rudolfkoenig

Ein neighborlist enthaelt Geraete, die nicht mehr existieren oder umbenannt sind.
Habs jetzt abgefangen, bitte nochmal testen.

krikan

Funktioniert. Auch ich kann jetzt die Animation bewundern.  :) Danke.

docfred

In allen Browser (EDGE, Firefox und Chrome werden bei mir jetzt die Maps dargestellt auch mit IOS7 Style. Allerdings hat die Funktion start auto layout in keinem Browser eine Funktion. Auch kann ich die Elemte in keinem Browser von Hand verschieben. Betriebssytem Windows 10. Kann es sein, dass mir eine Bibliothek fehlt?

FunkOdyssey

Hallo,
eine tolle Idee, bei der ihr gerade dabei seid.
Ich habe den Thread in den letzten Tagen verfolgt und immer auch versucht, einige Features wie Drag&Drop oder AutoLayout nachzuvollziehen. Aber leider ohne Erfolg. Ich nutze Google Chrome, Safari Mobile und Firefox. Bei mir ist das iOS7-CSS aktiv. Ich habe sämtliche Caches gelöscht. Optisch sieht es bei mir genau wie bei "docfred" aus.

Beim Öffnen der Neighbor-Map erscheint in der Console direkt folgendes:

zwave_neighborlist.js:109 Uncaught TypeError: Cannot read property 'getBBox' of undefined
(anonymous function) @ zwave_neighborlist.js:109
each @ jquery.min.js:2
each @ jquery.min.js:2
zw_draw @ zwave_neighborlist.js:105
(anonymous function) @ zwave_neighborlist.js:49
FW_cmd.req.onreadystatechange @ fhemweb.js:306


Ein Klick auf Autolayout etc. zeigt keine Reaktion.
Drag&Drop (falls überhaupt (noch) vorhanden) funktioniert nicht.

jeep

Hallo zusammen,

unter Win8 mit FF 47.01 eben alle Styles getestet, funktionieren. Autolayout mit IOS7 Style tut auch. Siehe screenshot. Drag und drop auch.  :-[
Grüße, Josef
Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)

rudolfkoenig

@FunkOdyssey: Problem haengt vmtl. damit zusammen, dass in der Ansicht noch SVG-Icons zu sehen sind. Das habe ich gefixt.
@Christian: habs vergessen zu erwaehnen, dass Endpoint-Devices jetzt (wieder) rausgefiltert werden

Sonst:
- timeToAck wird (falls vorhanden) als tooltip angezeigt
- Anzeige von pepper-Bilder (siehe Anhang)
Habs mit Chrome/Firefox/IE11 getestet.

Wenn jemand mir zeigt, wie man eine "sanfte" Transition der Elemente hinkriegt, was unter Chrome/Firefox/IE11 funktioniert, dann baue ich das ein, ich bin nicht fuendig geworden. Sonst bin ich mit dem Feature erstmal fertig.

docfred

Bei mir funktioniert jetzt das Verschieben und das automatische Ausrichten. Allerdings ohne Pfeile (siehe Bild). Die Neigborhood der Geräte stimmt aber.
Ein weiteres Problem war, dass, nachdem ich "Send to fhem" geklickt hatte, FHEM sehr lange nicht mehr erreichbar war.

Internals:
   CallbackNr 0
   Clients    :ZWave:
   DEF        /dev/serial/by-id/usb-0658_0200-if00@115200
   DeviceName /dev/serial/by-id/usb-0658_0200-if00@115200
   FD         33
   MaxSendRetries 3
   NAME       ZWDongle_1
   NR         121
   PARTIAL
   RAWMSG     0004000212320221740000000000000000000000000000
   ReadTime   1468394352.89786
   STATE      Initialized
   SendRetries 0
   SendTime   1468394204.24492
   TYPE       ZWDongle
   WaitForAck 0
   ZWDongle_1_MSGCNT 111
   ZWDongle_1_TIME 2016-07-13 09:19:12
   homeId     e1dab02e
   nodeIdHex  01
   nrNAck     0
   Matchlist:
     1:ZWave    .*
   Readings:
     2016-07-13 08:58:37   caps            Vers:5 Rev:5 ManufID:0115 ProductType:0400 ProductID:0001 SERIAL_API_GET_INIT_DATA SERIAL_API_APPL_NODE_INFORMATION APPLICATION_COMMAND_HANDLER ZW_GET_CONTROLLER_CAPABILITIES SERIAL_API_SET_TIMEOUTS SERIAL_API_GET_CAPABILITIES SERIAL_API_SOFT_RESET UNKNOWN_09 UNKNOWN_0a ZW_SET_R_F_RECEIVE_MODE ZW_SET_SLEEP_MODE ZW_SEND_NODE_INFORMATION ZW_SEND_DATA ZW_SEND_DATA_MULTI ZW_GET_VERSION ZW_SEND_DATA_ABORT ZW_R_F_POWER_LEVEL_SET ZW_SEND_DATA_META ZW_GET_RANDOM MEMORY_GET_ID MEMORY_GET_BYTE MEMORY_PUT_BYTE MEMORY_GET_BUFFER MEMORY_PUT_BUFFER FLASH_AUTO_PROG_SET UNKNOWN_28 NVM_GET_ID NVM_EXT_READ_LONG_BUFFER NVM_EXT_WRITE_LONG_BUFFER NVM_EXT_READ_LONG_BYTE NVM_EXT_WRITE_LONG_BYTE ZW_GET_NODE_PROTOCOL_INFO ZW_SET_DEFAULT ZW_REPLICATION_COMMAND_COMPLETE ZW_REPLICATION_SEND_DATA ZW_ASSIGN_RETURN_ROUTE ZW_DELETE_RETURN_ROUTE ZW_REQUEST_NODE_NEIGHBOR_UPDATE ZW_APPLICATION_UPDATE ZW_ADD_NODE_TO_NETWORK ZW_REMOVE_NODE_FROM_NETWORK ZW_CREATE_NEW_PRIMARY ZW_CONTROLLER_CHANGE ZW_SET_LEARN_MODE ZW_ASSIGN_SUC_RETURN_ROUTE ZW_REQUEST_NETWORK_UPDATE ZW_SET_SUC_NODE_ID ZW_DELETE_SUC_RETURN_ROUTE ZW_GET_SUC_NODE_ID ZW_SEND_SUC_ID ZW_EXPLORE_REQUEST_INCLUSION ZW_REQUEST_NODE_INFO ZW_REMOVE_FAILED_NODE_ID ZW_IS_FAILED_NODE ZW_REPLACE_FAILED_NODE UNKNOWN_66 UNKNOWN_67 UNKNOWN_78 GET_ROUTING_TABLE_LINE LOCK_ROUTE_RESPONSE UNKNOWN_92 UNKNOWN_93 UNKNOWN_98 ZW_SET_WUT_TIMEOUT ZW_WATCHDOG_ENABLE ZW_WATCHDOG_DISABLE ZW_WATCHDOG_CHECK ZW_SET_EXT_INT_LEVEL ZW_RF_POWERLEVEL_GET ZW_TYPE_LIBRARY ZW_SEND_TEST_FRAME ZW_GET_PROTOCOL_STATUS WATCHDOG_START WATCHDOG_STOP UNKNOWN_d4 UNKNOWN_ef ZME_FREQ_CHANGE ZME_BOOTLOADER_FLASH UNKNOWN_f5
     2016-07-13 08:58:37   ctrlCaps        PRIMARY
     2016-07-13 08:58:37   homeId          HomeId:e1dab02e CtrlNodeIdHex:01
     2016-07-13 09:11:34   neighborList_1  UG.Waschkueche.Waschmaschine EG.Arbeitszimmer.Heizung ZWave_THERMOSTAT_4
     2016-07-13 09:11:39   neighborList_2  ZWDongle_1 EG.Arbeitszimmer.Heizung ZWave_THERMOSTAT_4
     2016-07-13 09:11:44   neighborList_3  ZWDongle_1 UG.Waschkueche.Waschmaschine
     2016-07-13 09:11:49   neighborList_4  ZWDongle_1 UG.Waschkueche.Waschmaschine
     2016-07-13 09:11:58   nodeList        ZWDongle_1 UG.Waschkueche.Waschmaschine EG.Arbeitszimmer.Heizung ZWave_THERMOSTAT_4
     2016-07-13 08:58:37   random          0706852ea928cc5a58ddaffeeb6273ad6c04b78e495374c2d56d319d582f2922
     2016-07-13 08:58:37   state           Initialized
     2016-07-13 08:58:37   sucNodeId       no
     2016-07-11 21:58:11   timeouts        0106640f
     2016-07-11 21:58:19   version         Z-Wave 4.05 STATIC_CONTROLLER
   SendStack:
Attributes:
   group      Devices
   icon       cul_usb
   room       ZWave,x.devices

krikan

Zitat von: rudolfkoenig am 12 Juli 2016, 14:51:29
habs vergessen zu erwaehnen, dass Endpoint-Devices jetzt (wieder) rausgefiltert werden
Hatte es schon gesehen.  :)

ZitatSonst bin ich mit dem Feature erstmal fertig.
Vielen Dank.

Kleine Anmerkungen (bitte nicht überbewerten):
Die pepper-Bilder führen bei langen Devicenamen und der relativ kleinen Fensterfläche zu Anzeigeschwierigkeiten/Unübersichtlichkeit. Habe testweise probiert das pepper-Bild in Tooltip aufzunehmen und timeToAck dann in der Devicenamensbox anzuzeigen, weil ich timeToAck in der Auswertung interessanter finde. Das hilft ein wenig. Habe dann einmal nur die NodeId statt Devicenamen anzeigen lassen. Das wäre von der Übersichtlichkeit optimal, aber vom Verständnis schwierig.


jeep

Zitat von: krikan am 13 Juli 2016, 10:08:51
Kleine Anmerkungen (bitte nicht überbewerten):
Die pepper-Bilder führen bei langen Devicenamen und der relativ kleinen Fensterfläche zu Anzeigeschwierigkeiten/Unübersichtlichkeit...

Hallo Christian,

glücklicherweise sind bei mir bis auf ein paar Ausnahmen die devicenamen relativ kurz, aber ich verwende fast überall aliasnamen, so dass ich in der Weboberfläche sofort weiß um welches devices es geht. Außerdem habe ich mir seit einiger Zeit zur Angewohnheit gemacht die DeviceID hinten anzuhängen. Z.B. der Zwischenstecker ZSt6_51, hat die ID 51 und heißt in der Weboberfläche und in den Apps  "Kellerlicht", so dass ich auch mit kurzen Namen gut zurechkomme.
Um einen relativ guten Eindruck über das gesamte Netz zu bekommen, finde ich das Tool genial.
Es soll aber auch noch größere ZWave Netze bis über 100 devices geben, da könnte es dann schon mal unübersichtlich werden. In so einem Fall wäre die Matrix wie sie z-wave.me Software verwendet geeigneter.

Grüße, Josef
Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)

rudolfkoenig

@docfred: neighborList muss aus den ZWave Geraeten kommen. Habe die Funktion aber jetzt erweitert, damit, falls es da nicht gefunden wird, auch in ZWDongle gesucht wird.

@Christian: scheint zu "never ending story" zu werden :) Neu:
neighborListFmt
      Used by the "Show neighbor map" function in the FHEMWEB ZWDongle detail
      screen. The value is a perl hash, specifying the values for the keys
      txt, img and title. In the value each word is replaced by the
      corresponding Internal, Reading or Attribute of the device, if there is
      one to replace. Default is
        { txt=>"NAME", img=>"IMAGE", title=>"Time to ack: timeToAck" }

Ist nicht perfekt (kein Perl-code, Pruefung auf teilweise-Nichtvorhandensein von Werten, etc), aber man kann damit leichter experimentieren. Fuer Designfreaks: man kann auch (das nicht dokumentierte) class (== CSS-Klasse) setzen, damit koennte man jedes Rechteck separat stylen.
Leider streikt sourceforge gerade: kann nicht einchecken.

krikan

Zitat von: jeep am 13 Juli 2016, 11:40:41
glücklicherweise sind bei mir bis auf ein paar Ausnahmen die devicenamen relativ kurz, aber ich verwende fast überall aliasnamen, so dass ich in der Weboberfläche sofort weiß um welches devices es geht. Außerdem habe ich mir seit einiger Zeit zur Angewohnheit gemacht die DeviceID hinten anzuhängen. Z.B. der Zwischenstecker ZSt6_51, hat die ID 51 und heißt in der Weboberfläche und in den Apps  "Kellerlicht", so dass ich auch mit kurzen Namen gut zurechkomme.
Im "normalen" FHEM habe ich auch nicht die autocreate-Namen, aber sie sind nicht zwangsweise kürzer, damit ich Devices schön mit Regexp ansprechen kann.

ZitatUm einen relativ guten Eindruck über das gesamte Netz zu bekommen, finde ich das Tool genial.
Josefs Äußerung kann ich nur zustimmen.

Zitat@docfred: neighborList muss aus den ZWave Geraeten kommen. Habe die Funktion aber jetzt erweitert, damit, falls es da nicht gefunden wird, auch in ZWDongle gesucht wird.
Prima! Dann kann man auch non-repeater ausfiltern usw.

Zitat@Christian: scheint zu "never ending story" zu werden :) Neu:
Du solltest Dich besser nicht auf jeden Mist von mir einlassen.  :) Aber nehme es dankend  ;)

docfred

@Rudolf König

M.E. sind die neighborlist der Devices o.k.

Internals:
   DEF        e1dab02e 4
   IODev      ZWDongle_1
   LASTInputDev ZWDongle_1
   MSGCNT     4
   NAME       ZWave_THERMOSTAT_4
   NR         126
   STATE      wakeupInterval 86400 1
   TYPE       ZWave
   ZWDongle_1_MSGCNT 4
   ZWDongle_1_RAWMSG 00040004028407
   ZWDongle_1_TIME 2016-07-13 09:16:42
   ZWaveSubDevice no
   homeId     e1dab02e
   isWakeUp   1
   lastMsgSent 1468394204.24423
   nodeIdHex  04
   Readings:
     2016-07-13 09:16:42   battery         100 %
     2016-07-13 09:16:42   ccsOverride     no, unused
     2016-07-11 22:09:12   model           Danfoss Z Thermostat 014G0013
     2016-07-11 22:09:12   modelConfig     danfoss/z.xml
     2016-07-11 22:09:12   modelId         0002-0005-0004
     2016-07-13 12:32:41   neighborList    ZWDongle_1 UG.Waschkueche.Waschmaschine
     2016-07-13 09:16:42   setpointTemp    28.00 C heating
     2016-07-11 22:09:09   state           wakeupInterval 86400 1
     2016-07-13 09:16:44   timeToAck       0.028
     2016-07-13 09:16:44   transmit        OK
     2016-07-13 09:16:42   wakeup          notification
   SendStack:
     set:130405430102010a2505
     get:13040286112506
Attributes:
   IODev      ZWDongle_1
   classes    BATTERY CLIMATE_CONTROL_SCHEDULE CLOCK MANUFACTURER_SPECIFIC MULTI_CMD PROTECTION THERMOSTAT_SETPOINT VERSION WAKE_UP MARK CLIMATE_CONTROL_SCHEDULE CLOCK MULTI_CMD
   icon       sani_heating_temp
   room       ZWave
   vclasses   BATTERY:1 CLIMATE_CONTROL_SCHEDULE:1 CLOCK:1 MANUFACTURER_SPECIFIC:1 MULTI_CMD:1 PROTECTION:2 THERMOSTAT_SETPOINT:2 VERSION:1 WAKE_UP:2



EG.Esszimmer
EG.Küche
EG.Wohnzimmer
Plots
Pool
UG
Unsorted
Wetter
ZWave
x.Logfiles
x.Versorgung
x.devices
x.services
icoEverything Everything
Logfile
Commandref
Remote doc
Edit files
Select style
Event monitor
restart
update
updatecheck
reloadMyUt

Internals:
   DEF        e1dab02e 2
   IODev      ZWDongle_1
   LASTInputDev ZWDongle_1
   MSGCNT     161
   NAME       UG.Waschkueche.Waschmaschine
   NR         122
   STATE      on
   TYPE       ZWave
   ZWDongle_1_MSGCNT 161
   ZWDongle_1_RAWMSG 0004000212320221740000000000000000000000000000
   ZWDongle_1_TIME 2016-07-13 12:34:13
   ZWaveSubDevice no
   homeId     e1dab02e
   isWakeUp
   nodeIdHex  02
   Readings:
     2016-07-13 12:34:12   current          0 A
     2016-07-13 12:34:13   energy           3.157 kWh previous: 3.157 delta_time: 60 s
     2016-07-11 19:18:19   model           Aeotec Smart Switch 6
     2016-07-11 19:18:19   modelConfig     aeotec/ss6.xml
     2016-07-11 19:18:19   modelId         0086-0003-0060
     2016-07-13 12:31:53   neighborList    ZWDongle_1 EG.Arbeitszimmer.Heizung ZWave_THERMOSTAT_4
     2016-07-13 12:34:13   power            0 W
     2016-07-12 13:20:26   state           on
     2016-07-12 13:20:26   timeToAck       0.120
     2016-07-12 13:20:26   transmit        OK
     2016-07-13 12:34:12   voltage          227.166 V
Attributes:
   IODev      ZWDongle_1
   classes    ZWAVEPLUS_INFO SWITCH_BINARY SWITCH_MULTILEVEL COLOR_CONTROL CONFIGURATION SWITCH_ALL METER CLOCK ASSOCIATION ASSOCIATION_GRP_INFO MANUFACTURER_SPECIFIC VERSION FIRMWARE_UPDATE_MD POWERLEVEL MARK DEVICE_RESET_LOCALLY HAIL
   icon       scene_washing_machine
   room       ZWave
   vclasses   ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 CLOCK:1 COLOR_CONTROL:1 CONFIGURATION:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:2 HAIL:1 MANUFACTURER_SPECIFIC:2 METER:3 POWERLEVEL:1 SWITCH_ALL:1 SWITCH_BINARY:1 SWITCH_MULTILEVEL:2 VERSION:2 ZWAVEPLUS_INFO:2
#

Internals:
   DEF        e1dab02e 3
   IODev      ZWDongle_1
   LASTInputDev ZWDongle_1
   MSGCNT     15
   NAME       EG.Arbeitszimmer.Heizung
   NR         124
   STATE      TRANSMIT_NO_ACK
   TYPE       ZWave
   ZWDongle_1_MSGCNT 15
   ZWDongle_1_RAWMSG 00040003044608007f
   ZWDongle_1_TIME 2016-07-13 12:31:53
   ZWaveSubDevice no
   homeId     e1dab02e
   isWakeUp   1
   lastMsgSent 1468394507.82276
   nodeIdHex  03
   Readings:
     2016-07-11 19:44:41   CMD             ZW_APPLICATION_UPDATE
     2016-07-13 12:31:53   battery         69 %
     2016-07-13 12:31:53   ccsOverride     no, unused
     2016-07-12 13:27:56   model           Danfoss Z Thermostat 014G0013
     2016-07-12 13:27:56   modelConfig     danfoss/z.xml
     2016-07-12 13:27:56   modelId         0002-0005-0004
     2016-07-13 12:31:53   setpointTemp    10.00 C heating
     2016-07-11 23:45:28   state           TRANSMIT_NO_ACK
     2016-07-13 09:21:47   timeToAck       0.028
     2016-07-13 09:21:47   transmit        OK
     2016-07-11 19:29:15   version         Lib 6 Prot 3.67 App 1.1
     2016-07-13 09:21:45   wakeup          notification
     2016-07-11 22:17:11   wakeupReport    interval 600 target 1
Attributes:
   IODev      ZWDongle_1
   classes    BATTERY CLIMATE_CONTROL_SCHEDULE CLOCK MANUFACTURER_SPECIFIC MULTI_CMD PROTECTION THERMOSTAT_SETPOINT VERSION WAKE_UP MARK CLIMATE_CONTROL_SCHEDULE CLOCK MULTI_CMD
   icon       sani_heating_temp
   room       EG.Arbeitszimmer,ZWave
   vclasses   BATTERY:1 CLIMATE_CONTROL_SCHEDULE:1 CLOCK:1 MANUFACTURER_SPECIFIC:1 MULTI_CMD:1 PROTECTION:2 THERMOSTAT_SETPOINT:2 VERSION:1 WAKE_UP:2

docfred

so, jetzt habe ich plötzlich Pfeile, dafür geht das manuelle und automatische Anordnen nicht mehr?!

rudolfkoenig


docfred

13:54:02.838 FW_queryValue:{ReadingsVal("ZWDongle_1","addNode","")} fhemweb.js:282:5
13:54:02.843 FW_queryValue:{AttrVal("ZWDongle_1","room","")} fhemweb.js:282:5
13:54:02.968 Longpoll with filter ZWDongle_1 fhemweb.js:282:5
13:54:03.066 Rcvd:  fhemweb.js:282:5
13:54:09.652 ZWNL called with ZWDongle_nlData("ZWDongle_1") fhemweb.js:282:5
13:54:09.654 FW_cmd:/fhem?cmd={ZWDongle_nlData("ZWDongle_1")}&XHR=1 fhemweb.js:282:5
Error: Syntax error, unrecognized expression: svg line[data-name=EG.Arbeitszimmer.Heizung-UG.Waschkueche.Waschmaschine]

docfred

#59
@ Rudolf König

Liegt an den Punkten in den Device-Names!
Kann das gefixt werden oder sollen Punkte in den Devicenamen gemieden werden. Würde im Falle eines ALIAS dieser angezeigt?

Gruß Friedemann

(P.S. Ein kleiner Schönheitsfehler ist, dass die Pfeile teilweise hinter den Boxen verschwinden)

rudolfkoenig

ZitatLiegt an den Punkten in den Device-Names!
Danke, weiss ich, habs gefixt, kann aber nicht einchecken.

Zitat(P.S. Ein kleiner Schönheitsfehler ist, dass die Pfeile teilweise hinter den Boxen verschwinden)
Das habe ich am Anfang schon geschrieben, mit dem Hinweis, wer es besser loesen kann, der soll sich melden.

rudolfkoenig

Habs geschafft, einzuchecken. Fuer die Anfaenger: per update erst ab morgen um 8.

krikan

@Rudi: Im Tooltip steht bei mir ein Verweis auf HASH in der Form "Time to ack: HASH(0x3d9c900)"

rudolfkoenig

Danke. Habe vergessen, dass Readings eine Indirektionsstufe mehr haben. Habs geaendert.

Omega

Ich bin zufällig über die Funktion "Show neighbor map" gestossen - einfach genial. Danke!!
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

tomspatz

kann man die Breite der angezeigten Box irgendwo ändern?

rudolfkoenig

Nicht wirklich, ist hartkodiert in zwave_neighborlist.js
Die Hoehe ist etwas dynamisch.

Lars

Kurze Frage zum Thread Titel: Gibt es eine Möglichkeit, an alle zwave Devices das gleiche Kommando abzusetzen? Ich denke da nicht nur an neighbhorUpdate sondern auch an get battery oder get configAll.
FHEM Hauptsystem auf ESXi VM | dblog | 3 rPi für Nebensysteme | 2 Beaglebone Black Test- / Integrationssystem

krikan


tomspatz

ZitatNicht wirklich, ist hartkodiert in zwave_neighborlist.js
Die Hoehe ist etwas dynamisch.

Danke, hmmmm, dann ggf. die Bilder abzuschalten?

krikan

Zitat von: rudolfkoenig am 13 Juli 2016, 11:42:51
neighborListFmt
      Used by the "Show neighbor map" function in the FHEMWEB ZWDongle detail
      screen. The value is a perl hash, specifying the values for the keys
      txt, img and title. In the value each word is replaced by the
      corresponding Internal, Reading or Attribute of the device, if there is
      one to replace. Default is
        { txt=>"NAME", img=>"IMAGE", title=>"Time to ack: timeToAck" }

Ist nicht perfekt (kein Perl-code, Pruefung auf teilweise-Nichtvorhandensein von Werten, etc), aber man kann damit leichter experimentieren. Fuer Designfreaks: man kann auch (das nicht dokumentierte) class (== CSS-Klasse) setzen, damit koennte man jedes Rechteck separat stylen.
Also so etwas (ungetestet):
attr <ZWDongle> neighborListFmt { txt=>"NAME", img=>"", title=>"Time to ack: timeToAck" }

tomspatz

TOP
geht auch z.B. mit
attr <ZWDongle> neighborListFmt { txt=>"alias", img=>"", title=>"Time to ack: timeToAck" }

Danke

tomspatz

jetzt muss ich hier nochmals ran....
ein wie der Titel sagt gleichzeitiges oder automatisiertes neighborUpdate geht aber immer noch nicht ??
Also jedes device einzeln machen und NICHT vom ZWDongle aus.

krikan

Ja, Aufruf erfolgt über die einzelnen ZWave-Devices und nicht über ZWDongle.
Aber das ist doch letztlich egal:
Man kann über devspec mit einem abgesetzten Befehl für alle Devices neigbhorUpdate anstoßen:
set TYPE=ZWave:FILTER=ZWaveSubDevice=no neighborUpdate
"Problem" bleiben die Wake-UP Devices, da die erst beim nächsten WakeUp den Befehl verarbeiten. Das ist aber ein allgemeines ZWave-Thema und nicht FHEM-spezifisch.

tomspatz

wow das ist doch schon mal super.
Und so wie ich es verstanden habe hat Rudi das "serialisiert".
Somit werden die dann alle nach einander und die Wake-UP Devices wenn sie wach sind abgearbeitet.
Also Befehl raus und spätestens nach 24 Stunden ist alles fertig.

krikan


tomspatz

Das funktioniert super THX
Kann man das nicht in web menuEntries einbauen?
Ich habe das mal so probiert aber das tut nicht.
Internals:
   CONNECTS   400
   DEF        8083 global
   FD         6
   NAME       WEB
   NR         6
   NTFY_ORDER 50-WEB
   PORT       8083
   STATE      Initialized
   TYPE       FHEMWEB
Attributes:
   JavaScripts codemirror/fhem_codemirror.js
   editConfig 1
   menuEntries Config Einlesen,cmd=reread,Updatecheck,cmd=update+check,fhem Update,cmd=update,fhem Neustart,cmd=shutdown+restart,neighbourUpdate,cmd=set TYPE=ZWave:FILTER=ZWaveSubDevice=no neighborUpdate
   sortRooms  Weihnachten


krikan

Zitat von: tomspatz am 16 August 2016, 21:07:12
Kann man das nicht in web menuEntries einbauen?
Probiere es mal mit der Ersetzung der Leerzeichen durch %20 im Befehl (Beispiel siehe http://fhem.de/commandref.html#FHEMWEB unter menuEntries)

rudolfkoenig

ZitatKann man das nicht in web menuEntries einbauen?
Ich habe das mal so probiert aber das tut nicht.
Bei mir klappt es genau so. Der angezeigte Link ist in der default Style nicht unterstrichen, und zeigt damit an, dass beim draufklicken die Seite nicht neu geladen wird. Der Befehl wird jedoch (via JavaScript) an FHEM gesendet, ich kriege auch eine Antwort, falls WAKE_UP Geraete in der Liste vorhanden sind, und im FHEM-Log sieht man die Ausfuehrung.

tomspatz

SORRY :-[
ich nehme alles zurück
Dadurch das der link NICHT unterstrichen ist bin ich von ausgegangen das das falsch ist.
Das mit %20 habe ich zwar auch gesehen habe es allerdings nicht geschnallt das das JavaScript und nicht html ist.

läuft DANKE