Closed MichaelAnders closed 3 years ago
a) Raspberrymatic erlaubt die Definierung von Raum/Gewerk auch für Kanal 0
Das geht schon indem man in der Geräteliste (Einstellungen --> Geräte) einfach die Baumstruktur öffnet und im Kanal:0 entsprechend sein Gewerk/Raum einstellt.
Das Ergebnis sieht dann so aus:
@Baxxy13 Danke für die Anmerkungen. Ich komme da selbst (wie viele) immer noch durcheinander. Also ja, man kann Kanal 0 ein Gewerk+Raum zuordnen, man muss aber eben unter "Einstellungen -> Geräte" explizit auf "Baumstruktur öffnen" unten drücken. Nur dann taucht auch Kanal :0 entsprechend auf und erst dann kann man dort Raum+Gewerk eingeben.
Die Frage wäre also ob sich dann auch #952 automatisch erledigt hat?
Und des weiteren könnte man natürlich auch darüber diskutieren wie man das ganze Management des Kanal :0 etwas verbessern könnte. Vielleicht hat ja @jp112sdl hier auch eine Idee? Das dieser momentan lediglich über "Baumstruktur öffnen" erreichbar ist halte ich für suboptimal und man könnte entweder darüber diskutieren immer auch Kanal :0 einblenden zu lassen oder nen separaten Button zu machen neben "Baumstruktur öffnen"? Aber das wäre ggf. Inhalt eines neuen Feature-Tickets und gehört nicht hier in dieses Issue rein. Also bitte dafür einen entsprechenden Verbesserungsvorschlag machen und mit diesem Ticket hier dann verlinken.
Und des weiteren könnte man natürlich auch darüber diskutieren wie man das ganze Management des Kanal :0 etwas verbessern könnte.
Persönlich finde ich das ok so wie es ist. Verbesserungspotential ist natürlich vorhanden. Aber da muss man ja wieder auf die Synergieeffekte zwischen Normalem und Vereinfachtem Modus achten. Mein Vorschlag wäre daher es so umzusetzen, das im normalem Modus beim Klick auf das + vor dem Gerät immer Kanal:0 mit auftaucht und im vereinfachten Modus alles so zu belassen.
@Baxxy13 So sehe ich das in der Tat auch. Und vielleicht hat eQ3 ja eigentlich so gewollt und das nur verschwitzt.
Das geht aber auch nur bei HmIP Geräten, oder? Bei HM BidCos sehe ich auch mit "Baumstruktur öffnen" keinen Kanal 0.
Das geht aber auch nur bei HmIP Geräten, oder?
Jein... Du musst natürlich erstmal den "internal-Flag" bei Kanal:0 der HM-Geräte entfernen.
@Baxxy13 Danke dafür. D.h. man könnte/müsste auch für BidCos Geräte hier tätig werden denn das scheint mir irgendwie inkonsistent zu sein zwischen HmIP vs. BidCos-RF. Die Frage wäre natürlich was die beste Herangehensweise wäre. Entweder die HmIP :0 Kanäle auch auf internal schalten? Oder die BidCos-RF :0 Kanäle ohne das internal Flag auch anzeigen zu lassen genauso wie die HmIP Kanäle. Und dann könnte man eben das so wie von dir vorgeschlagen mit vereinfachter Modus vs. normaler/expertenmodus machen um Kanal :0 einzublenden, oder nicht.
das scheint mir irgendwie inkonsistent zu sein zwischen HmIP vs. BidCos-RF
Ist es auch. Warum eQ-3 hier 2 verschiedene Ansätze wählt ist mir schleierhaft.
Entweder die HmIP :0 Kanäle auch auf internal schalten?
Nicht mit mir. ;-) Dann eher bei den Klassik HM-Geräten den internal-Flag bei Kanal:0 entfernen. Der Grund ist simpel: Sind die Kanäle auf internal geflagged kann man sie auch nicht mehr in WebUI-Programmen benutzen oder sie in Favoriten einfügen. Da würden sich dann so Sachen wie "WENN Batteriespannung der PCBS-BAT <x.xV DANN Pushnachricht" nicht mehr ohne weiteres anlegen lassen.
Oder die BidCos-RF :0 Kanäle ohne das internal Flag auch anzeigen zu lassen genauso wie die HmIP Kanäle.
Das wäre vermutlich der beste Kompromiss, aber warten wir nochmal ein paar Meinungen ab.
Edit: Gerade gesehen das Kanal:0 eines HM-Gerätes nun auch bei Status und Bedienung --> Geräte zu sehen ist. Da müsste man nun den invisible-Flag setzen um das da wegzubekommen. Alles nicht so das wahre.
Ich bin da eher skeptisch welche Seiteneffekte das hat. Gerade in Programmen. Wenn man bei klassischem HMRF nun noch Kanal 0 zur Auswahl hat, was nie vorgesehen war.
Ist es bei Servicemeldungen denn so, dass das Gerät gestört ist? Man schaltet ja zB einen Kanal. Dieser ist ja dann gestört, wenn er nicht erreichbar ist. Und dann ist auch ein Raum/Gewerk vorhanden.
Dieser ist ja dann gestört, wenn er nicht erreichbar ist. Und dann ist auch ein Raum/Gewerk vorhanden.
Nein. Die Servicemeldung kommt (zumindest hier) immer vom Kanal:0 auch wenn ich Kanal:1 versuche zu schalten.
Gleiche Vorgehensweise (Kanal:1 versucht zu schalten) aber Kanal:0 "beschriftet"
Ich bin da eher skeptisch welche Seiteneffekte das hat. Gerade in Programmen. Wenn man bei klassischem HMRF nun noch Kanal 0 zur Auswahl hat, was nie vorgesehen war.
Na genau deshalb "sitzen" wir ja hier zusammen und versuchen etwas besser zu machen. Müssen das ja im ersten Schritt nicht gleich in die nächste Version aufnehmen und könnten eine erste Beta/Testversion machen und dann schauen was das für nebeneffekte ggf. bringt.
Dieser ist ja dann gestört, wenn er nicht erreichbar ist. Und dann ist auch ein Raum/Gewerk vorhanden.
Nein. Die Servicemeldung kommt (zumindest hier) immer vom Kanal:0 auch wenn ich Kanal:1 versuche zu schalten.
Daher die Idee, die Servicemeldung auf dem Kanal zu generieren, der den Fehler hat.
Aber ist auch blöd bei Geräten mit zyklischem Timeout. Da müssten dann alle Kanäle gestört angezeigt werden...
Nein. Die Servicemeldung kommt (zumindest hier) immer vom Kanal:0 auch wenn ich Kanal:1 versuche zu schalten.
Daher die Idee, die Servicemeldung auf dem Kanal zu generieren, der den Fehler hat.
Aber ist auch blöd bei Geräten mit zyklischem Timeout. Da müssten dann alle Kanäle gestört angezeigt werden...
Eben. Deshalb würde ich vom bisherigen Verfahren nicht abweichen wollen und weiterhin immer nur die Servicemeldungen dem Kanal :0 zugeordnet zeigen. Aber eben in der WebUI müsste an nun eben Kanal :0 immer einfach mit anzeigen lassen, zunindest solange da die vereinfachte Anzeige bzw. Kindersicherung deaktiviert ist.
Ich würde die Generierung der Servicemeldungen auch nicht anfassen. Letztlich betrifft die Kommunikationsstörung o.ä. ja immer das ganze Gerät. Ist jetzt bei einem 4fach Aktor der verschiedene Räume bedient vielleicht etwas suboptimal, aber da gibt man halt als Raum "Unterverteilung" o.ä. an.
Da wir die HM-Kanäle:0 weiterhin als internal-flagged lassen wollen (wegen den oben angeführten Nebeneffekten) bleibt aus meiner Sicht nur die Option das internal-flag in Einstellungen > Geräte zu ignorieren. Ob man dann die Kanäle:0 über die Baumstruktur öffnen Funktion sichtbar macht oder direkt über das + vor dem Gerät ist wohl Geschmackssache.
Mein Favorit wäre der Weg über das +.
Die Baumstruktur kann schon etwas mühsam und nervig sein. Ich sag nur 2x50 virtuelle Tasten und 8-oder mehrfach Module mit ihren zusätzlichen virtuellen Kanälen.
Genauso sehe ich das alles in der Tat auch. Bleibt also nur noch die Frage wer nimmt sich dieser Verbesserung jetzt an? ;)
Ich finde nicht mal die Stelle, warum Kanal 0 nicht angezeigt wird. Alles was irgendwie mit "MAINTENANCE" zu tun hat, habe ich glaub ich durchgetestet.
Wie wäre es eigentlich, statt des Einblenden des Kanals 0, eine Gewerk/Raum-Zuordnung auf das Gerät machen zu können?
Heißt: Im DeviceConfigDialog unter Bedienbar / Protokolliert / Servicemeldungen noch zusätzlich "Räume" und "Gewerke" (wie bei einem Kanal einzublenden). Bestätigt man den DeviceConfigDialog mit OK setzt eine neue Methode im Hintergrund Raum+Gewerk auf den Kanal 0. (Korrekt müsste es glaub ich sein: Fügt den Kanal 0 der Raumliste bzw. Gewerkliste hinzu?)
Wie wäre es eigentlich, statt des Einblenden des Kanals 0, eine Gewerk/Raum-Zuordnung auf das Gerät machen zu können?
An sich keine schlechte Idee. Wäre einfach zu handhaben. Nur leider ist da erstmal kein Platz, oder willst du etwa den frisch reparierten Funktionstest rauswerfen? ;-)
Ich finde nicht mal die Stelle, warum Kanal 0 nicht angezeigt wird. Alles was irgendwie mit "MAINTENANCE" zu tun hat, habe ich glaub ich durchgetestet.
Wie wäre es eigentlich, statt des Einblenden des Kanals 0, eine Gewerk/Raum-Zuordnung auf das Gerät machen zu können?
Ich kann auch nochmal nachschauen morgen. Aber ich würde das von dir vorgeschlagene hinzufügen der Möglichkeit einen Raum+Gewerk dem Gerät direkt zuzuordnen und dann einfach das auf den Kanal :0 anzuwenden auch gut finden. Allerdings wäre es noch besser wenn das als zusätzliches Feature auch noch kommen würde dann wäre das in der Tat noch intuitiver.
Nur leider ist da erstmal kein Platz, oder willst du etwa den frisch reparierten Funktionstest rauswerfen? ;-)
Der Funktionstest kann ja bleiben. Der Infotext fliegt raus, dafür kommt ein ?-Button neben den Zeitstempel, der dann diesen Text einblendet.
Ist mal was für kalte Winterabende würde ich sagen ^^
@jp112sdl Ich kommt mal auf dieses Ticket hier zurück. Den Teil mit dem ?-Button hast du ja nun schon eingebaut. :) Und auch wenn es noch nicht wirklich kalt ist draussen, vielleicht kommst du ja nach dem nächsten Release dazu hierfür doch nochmal ein entsprechenden WebUI Patch zu basteln der auch die Raum/Gewerkzuordnung für Kanal :0 zulässt :)
Ja das schau ich mir gern noch mal an. Kannst du mir das bei "Assignees" zuweisen, dann verliere ich das nicht aus den Augen, weil ich die nächsten 1-2 Wochen erstmal nicht dazu komme
Kanal 0 ist für die gesamte WebUI nicht sichtbar, da /www/api/methods/device/listalldetail.tcl
keine Internal()
-Kanäle zurück gibt. (siehe listalldetail.tcl#L45)
das Entfernen der Bedingung in Zeile 45 führt dazu, dass Kanal 0 in der Kanalzuweisungsauswahl (Popup) in Einstellungen->Räume und Einstellungen->Gewerke sichtbar ist und sich darüber auch zuordnen lässt.
/www/rega/esp/sico.*
und /www/rega/esp/side.*
anpassen, bzw. /www/rega/esp/functions.fn
(destinationIsParameterVisible()
)Kanal 0 fehlt jedoch anschließend in der Tabelle/Liste Einstellungen->Räume und Einstellungen->Gewerke
/www/rega/pages/tabs/admin/views/
notwendig .EnumEnabledIDs()
mach .EnumIDs()
, da eine Abfrage EnumEnabledIDs()
auf einen Channel den Kanal 0 nicht zurückgibt).mögliche Anpassungen am Gerätekonfigurationsdialog sollten dann erst als letztes erfolgen
Zusatzinfos: (normaler WebUI-Modus)
Wie man sieht mal wieder inkonsistent.
Persönlich hätte ich nichts dagegen wenn Kanal:0 von HM-Geräten systemweit zur Verfügung steht.
Fazit:
Ich könnte eine Lösung anbieten, um den Kanal :0 unter Einstellungen->Gewerke / Räume hinzuzufügen.
An den Programmen ändert sich dabei nichts (Kanal 0 taucht dann weiterhin nicht auf in der Kanalauswahl bei WENN bzw DANN)
Es wäre auf jeden Fall schon mal ein Schritt. @jens-maus Möchtest du einen PR dafür haben?
Das dann noch mit in den Gerätekonfigurationsdialog zu packen... Ich hab es mir angeschaut... ist mir ne Nummer zu aufwendig. _Das ewige hin und her Konvertieren der Zeilenumbrüche mit den DIALOGJST-Einzeilern ist elendig.
Also ich bin da prinzipiell für alles offen. Hätte auch kein Problem damit wenn Kanal :0 mit im Kanalauswahl-Popup und in Programmen mit auswählbar ist (ggf. hinter dem Expertensetting versteckt). Es sollte dann halt nur zwischen HmIP und homematic konsistent umgesetzt sein. Also ja: mach einen PR und wir schauen uns das an und verfeinern das noch.
Hätte auch kein Problem damit wenn Kanal :0 mit im Kanalauswahl-Popup und in Programmen mit auswählbar ist (ggf. hinter dem Expertensetting versteckt).
Und was passiert, wenn jemand in einem Programm als Experte den Kanal :0 einbindet und ein anderer Benutzer das Programm als nicht-Experte betrachtet/editiert?
Habe mittlerweile herausgefunden, dass man bei HmIP Geräten den Kanal 0 als Bedingung jedoch nicht als Ziel auswählen kann. Ist im Patch jetzt auch so umgesetzt
mach einen PR und wir schauen uns das an und verfeinern das noch.
Mach ich... aber bitte nicht gleich mergen, sonst muss ich für jede Änderung wieder einen neuen PR machen.
mach einen PR und wir schauen uns das an und verfeinern das noch.
Mach ich... aber bitte nicht gleich mergen, sonst muss ich für jede Änderung wieder einen neuen PR machen.
Alles klar, dann diskutieren wir dort nun weiter.
Ich habe mir den Nightly-Snapshot erfolgreich installiert und mir das mal angeschaut.
Kanal 0 OHNE Raum und Gewerkzuweisung:
Kanal 0 MIT Raum und Gewerkzuweisung:
So weit so gut!
Wenn nun Kanal 0 einem Raum und Gewerk zugewiesen ist, wird der Kanal 0 auch unter "Status und Bedienung" ->Gewerke und auch unter ->Räume angezeigt:
Ist das so gewollt? Die Raum und Gewerkzuweisung sollte doch nur für die Servicemeldungen dienen, oder als Bedingung in Programmen!? Wenn eine Servicemeldung generiert wird, sollte sich der Kanal 0 die Zuweisung durch Kanal 1 ziehen. Wie bei Nicht-IP Geräten:
Ist das so gewollt? Die Raum und Gewerkzuweisung sollte doch nur für die Servicemeldungen dienen, oder als Bedingung in Programmen!? Wenn eine Servicemeldung generiert wird, sollte sich der Kanal 0 die Zuweisung durch Kanal 1 ziehen. Wie bei Nicht-IP Geräten:
Klar ist das so gewollt. Das sind doch die Geister die du gerufen hast ;-) Du hast ja explizit den Kanal :0 einem Gewerk/Raum zugeordnet und nun hast "du den Salat" :) Aber im Ernst, so ist das eben. Und das du bei Nicht-IP Geräten keinen Kanal :0 auftauchen siehst liegt eben einfach daran, das Nicht-IP Geräte eben :0 Kanäle haben die nicht in der WebUI dargestellt werden weil da nicht diesbzgl. darzustellen implemenetiert ist :) Wenn du also nicht willst das der Kanal :0 auch unter Gewerk/Räume auftaucht, nimm ihm die Zuordnung halt wieder weg. Genau so ist das vorgehen.
Wenn du also nicht willst das der Kanal :0 auch unter Gewerk/Räume auftaucht, nimm ihm die Zuordnung halt wieder weg. Genau so ist das vorgehen.
Also gibt es nur ein "Alles oder Nichts"!?
Entweder eine Raum und Gewerkzuordnung für Servicemeldungen/Programme mit Sichtbarkeit unter Gewerke/Räume
ODER
keine Sichtbarkeit unter Gewerke/Räume und keine Raum und Gewerkzuordnung für Servicemeldungen/Programme
Also gibt es nur ein "Alles oder Nichts"!?
Genau so ist es.
@mbhomie007 Was passiert, wenn du bei Kanal 0 den Haken bei "Sichtbar" entfernst? Dann dürfte er eigentlich nicht in Räumen / Gewerken auftauchen
@jp112sdl @jens-maus
Habe den Haken mal entfernt.
Jetzt ist der Kanal 0 nicht mehr unter "Status und Bedienung" in den Räumen/Gewerken zu sehen. Das hat geklappt! Danke für den Tipp! :-)
-> Allerdings hat das den Nachteil das man den Kanal 0 nun gar nicht mehr in Programmen auswählen kann. Das ist irgendwie suboptimal...
-> Allerdings hat das den Nachteil das man den Kanal 0 nun gar nicht mehr in Programmen auswählen kann. Das ist irgendwie suboptimal...
Das gilt aber nur für IP-Geräte. Nicht IP-Geräte sind weiterhin in der Geräteauswahl im Programm auswählbar.
Das hört sich dann eher nach einem Bug an.
Das hört sich dann eher nach einem Bug an.
Welcher der beiden Fälle?
Allerdings hat das den Nachteil das man den Kanal 0 nun gar nicht mehr in Programmen auswählen kann. Das gilt aber nur für IP-Geräte.
Das ist jetzt auch schon der Fall.
Nicht IP-Geräte sind weiterhin in der Geräteauswahl im Programm auswählbar.
Das wäre dann der Bug?
Die Sichtbarkeit sollte doch nur Auswirkungen auf "Status und Bedienung" haben, nicht jedoch auf Programme!?
Der Kanal:0 bei IP-Geräten verhielt sich meiner Meinung nach schon immer so.
Das unterschiedliche Verhalten könnte daher kommen das HM-Kanäle:0 per default auf "internal" stehen. Man sieht sie ja nicht in den zugewiesenen Räumen / Gewerken egal ob "sichtbar" ein oder aus.
IP-Kanäle:0 sind per default nicht "internal", daher sind sie überall verfügbar. "Sichtbarkeit" AUS blendet sie entsprechend überall aus. Setzt man sie auf "internal" hat man das gleiche Verhalten wie jetzt bei den HM:0 - Kanälen.
Ich gucke mir das später nochmal in Ruhe an.
Es sollte zumindest konsistent sein. D.h. Auch wenn ein HMIP Kanal :0 auf nicht sichtbar steht sollte er trotzdem in programmen auftauchen IMHO. Die sichtbarkeit sollte nur das auftauchen unter status und Bedienung tangieren.
Der Kanal:0 bei IP-Geräten verhielt sich meiner Meinung nach schon immer so.
Meiner Meinung nach auch.
Um aus der webui.js
zu zitieren:
filterHmIPChannels: function(channel, arChannels) {
conInfo("filterHmIPChannels");
//if ((channel.channelType != "_KEY_TRANSCEIVER") && channel.isVisible) {arChannels.push(channel);}
if (channel.isVisible && (channel.channelType != "ACCESSPOINT_GENERIC_RECEIVER")) {arChannels.push(channel);}
return arChannels;
},
filter: function(channels)
{
var result = new Array();
channels.each(function(channel) {
var self = this;
if (this.match(channel)) {
if (channel.device.interfaceName == this.HmIPIdentifier || channel.device.interfaceName == this.HmIPWIdentifier) {
this.filterHmIPChannels(channel, result);
} else {
result.push(channel);
}
}
}, this);
return result;
},
Bevor die Kanalliste zurückgegeben wird, werden HmIP(W) Kanäle nach isVisible
gefiltert.
Alle anderen nicht.
Ich habe den Raspberry nun mal neu gestartet.
Die Gewerke und Raumzuweisung ist nun bei Nicht IP-Geräte wieder verschwunden, hat den Neustart nicht überlebt. Bei IP-Geräten ist die Zuweisung drin geblieben.
Die Sichtbarkeit ist in beiden Fällen drin geblieben.
Es sollte zumindest konsistent sein. D.h. Auch wenn ein HMIP Kanal :0 auf nicht sichtbar steht sollte er trotzdem in programmen auftauchen IMHO. Die sichtbarkeit sollte nur das auftauchen unter status und Bedienung tangieren.
Das wäre wünscheswert. In der Programmauswahl sollte es trotzdem sichtbar sein.
Wer kann das mal testen und in dem Snippet aus https://github.com/jens-maus/RaspberryMatic/issues/976#issuecomment-755152953 in der webui.js
das
channel.isVisible &&
entfernen?
Also aus
if (channel.isVisible && (channel.channelType != "ACCESSPOINT_GENERIC_RECEIVER")) {arChannels.push(channel);}
mach
if (channel.channelType != "ACCESSPOINT_GENERIC_RECEIVER") {arChannels.push(channel);}
@mbhomie007
Die Gewerke und Raumzuweisung ist nun bei Nicht IP-Geräte wieder verschwunden, hat den Neustart nicht überlebt.
Kann ich in sofern nachvollziehen, dass die Anzeige in "Einstellungen>Geräte" fehlt. Aber unter "Einstellungen>Gewerke/Räume" sind sie noch da.
Kann ich in sofern nachvollziehen, dass die Anzeige in "Einstellungen>Geräte" fehlt.
Ursache gefunden. Ich mach einen PR.
@jens-maus Ich hoffe es ist ok, dass die Änderung mit in den 0104-Patch eingeflossen und kein zusätzliches Patchfile daraus geworden ist. Aus meiner Sicht sollte alles (was dann evtl. noch weiter geändert wird) in diesem einen Patch (0104) zusammenfließen
Ja, das passt.
Wer kann das mal testen und in dem Snippet aus #976 (comment) in der
webui.js
daschannel.isVisible &&
entfernen?Also aus
if (channel.isVisible && (channel.channelType != "ACCESSPOINT_GENERIC_RECEIVER")) {arChannels.push(channel);}
machif (channel.channelType != "ACCESSPOINT_GENERIC_RECEIVER") {arChannels.push(channel);}
Ist das nun auch behoben? Oder muss es noch getestet werden?
Ist das nun auch behoben?
Nein, da habe ich nichts gemacht. Habe keine HmIP Geräte und kann das selbst nicht testen
Habe keine HmIP Geräte und kann das selbst nicht testen
Ok, dann such dir mal ein Wunsch homematicIP Gerät aus (zum testen bieten sich ja immer die Fensterkontakte IMHO an), denn ich denke es wird Zeit das zum testen du mal ein erstes HmIP Gerät bekommst :)
Wer kann das mal testen und in dem Snippet aus #976 (comment) in der
webui.js
daschannel.isVisible &&
entfernen?Also aus
if (channel.isVisible && (channel.channelType != "ACCESSPOINT_GENERIC_RECEIVER")) {arChannels.push(channel);}
machif (channel.channelType != "ACCESSPOINT_GENERIC_RECEIVER") {arChannels.push(channel);}
Ist das nun auch behoben? Oder muss es noch getestet werden?
@Baxxy13 Hast du die Möglichkeit das zu testen?
Firmware: 3.53.30.20200919
Bug: In Raspberrymatic sehe ich in den "Servicemeldungen" zwar die Geräte und den zugehörigen Fehler ("Gerätekommunikation war gestört"), aber die zugehörigen Werte "Gewerk" und "Raum" sind immer leer. Somit ist es aufwendig, das fehlerhafte Gerät zu identifizieren.
Erwartung: Unter "Servicemeldungen" werden Gewerk und Raum für jedes Gerät angezeigt um das Gerät sofort zu erkennen.
Ich vermute es liegt an folgendem: das Gerät welches nicht assoziiert ist ist "....:0" - für diesen Kanal 0 kann aber kein Gewerk oder Raum zugeordnet werden, das geht im UI erst ab Kanal 1.
Vorschläge: a) Raspberrymatic erlaubt die Definierung von Raum/Gewerk auch für Kanal 0 oder b) Raspberrymatic ermittelt für das Gerät alle unterschiedlichen Räume/Gewerke die für die Kanäle > 0 definiert sind und zeigt diese an