NEWS
Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)
-
1.9.6 (2021-08-21)
- (sbormann) Removed some unnecessary horizontal lines in dialog.
- (sbormann) Added option to edit caption of STATE or LEVEL.
- (sbormann) Enhanced ADDITIONAL_INFO list (you can go back to old style via option) and added optional columns.
- (sbormann) Added some polyfils for older browsers.
- (sbormann) Fixed a bug that prevented certain options from being applied correctly.
.
.
.
@dslraser sagte in Test Adapter iQontrol 1.9.x Vis:@s-bormann
Ich habe mal meine Rasenmäher Datenpunkte in ein Widget gepackt. Kann man eigentlich die beiden oberen Linien weg bekommen ? Ich nutze keinen State, nur additionl Control und additional Info
sollte damit gelöst sein
@emd sagte in Test Adapter iQontrol 1.9.x Vis:
@s-bormann
Iwie Suche ich falsch, aber ich finde den Punkt in den customs nicht... Sorry, bin erst jetzt dazu gekommen...
Such ich falsch?
MfG
eMdDie Einstellung müsste jetzt auch in Admin 4 vorhanden sein.
@muuulle sagte in Test Adapter iQontrol 1.9.x Vis:
@s-bormann
Moin,noch eine Anfrage. Ist geplant, Additional Infos auch halbieren zu können?
Danke!
Geht jetzt
@jleg sagte in Test Adapter iQontrol 1.9.x Vis:
@s-bormann sagte in Test Adapter iQontrol 1.9.x Vis:
Und jetzt hab' ich auch plötzlich "Dark mode" - aber ein "read-only"-Status-Bar sieht nun bissel verrutscht aus:
Danke, Fix kommt
wenn du schonmal dabei bist
- gibt es evtl. eine Möglichkeit, das Label (hier „Level“) irgendwo festzulegen/zu überschreiben? Derzeit wird das wohl 1:1 aus dem DP genommen…Ist jetzt auch möglich:

Ich hoffe, so langsam werden auch die Bugs, die sich durch die vielen Updates eingeschlichen haben immer weniger (sorry hierfür, natürlich teste ich alles bei mir - aber da es so viele unterschiedliche Installationen gibt ist es für mich unmöglich, in halbwegs akzeptabler Zeit alles nachzustellen oder vorherzusehen - aber ihr seid ja die perfekten Beta-Tester, danke Euch!)
-
Hi @kilasat,
hier die beiden Javascripte. Als erstes die Datenpunkte hinzufügen und das Script einmal ausführen (1. Script), danach das 2. Script aktivieren und laufen lassen. Achso, natürlich noch die Werte (in beiden Scripts) anpassen, ich habe 2 von den Dingern laufen und da kannste alles für den 2. rausschmeißen.
In der Json ist meine Sicht mit dem Gerät, die kannste importieren und auch auf deine Datenpunkte anpassen./* Setze neue Datenpunkte für * - Wartungspunkt setzen pro Vacuum * - Weitere Zonen einrichten, über script, da wenn der Adapter mal nicht mehr funktioniert die Werte nicht erneut ermittelt werden müssen * - Warteschlange erzeugen, Standard reichte mir nicht * - */ //Settings //Anzahl der Vacuum var countVacuum = ['mihome-vacuum.0', 'mihome-vacuum.1']; var channelRooms = '.rooms'; var servicePoints = ['22250,32300','27950,25450'] var addRrooms = [ { 'room' : ['Zone1','Zone2','Zone3'], 'datenpunkt' : [[25235,29306,27535,30356],[23502,24895,25102,25995],[27763,30413,29163,33013]] } ] //Channel für alle Vacuum unter userdata anlegen setObject("0_userdata.0.vacuums", { common: { name: "Vacuums Zusatzpunkte" }, type: "channel" }); //Datenpunkte für ServicePoint und CleaningQueue pro Vacuum anlegen for (var v = 0; v < countVacuum.length; v++) { //Koordinaten des jeweiligen ServicPoints speichern if (servicePoints[v] != null){ createState("0_userdata.0." + countVacuum[v] + ".servicepoint", servicePoints[v], false, { name: "servicepoint", desc: "coordinates of servicepoint", type: "number", role: "value", unit: "", read: false, write: false }); } //Eine erweiterte CleaningQueue anlegen, in der dann Zone und Segment herausgefiltert wird und nur der Name steht createState("0_userdata.0." + countVacuum[v] + ".cleaningQueue", "", false, { name: "cleaning queue", desc: "cleaning queue", type: "object", role: "info", unit: "", read: true, write: true }); //Für die Ermittlung und anzeige des aktuellen Raumes, der gereinigt wird createState("0_userdata.0." + countVacuum[v] + ".currentRoom", "", false, { name: "current cleaning", desc: "current cleaning room or zone", type: "object", role: "info", unit: "", read: true, write: true }); //Datenpunkt für den Button Servicepoint createState("0_userdata.0." + countVacuum[v] + ".goToService", false, false, { name: "goToService", desc: "going to ServicePointcleaning queue", type: "boolean", role: "button", unit: "", read: false, write: true }); //Weitere Zonen anlegen if(addRrooms[v]!=null){ for (var i = 0; i < addRrooms[v]['room'].length; i++) { setState(countVacuum[v] + channelRooms + ".addRoom", addRrooms[v]['datenpunkt'][i]); var roomchannel = addRrooms[v]['datenpunkt'][i].toString(); roomchannel = roomchannel.replace("[", ""); roomchannel = roomchannel.replace("]", ""); roomchannel = roomchannel.split(",").join("_"); /*replaceAll(",", "_");*/ setState(countVacuum[v] + channelRooms + "." + roomchannel + ".roomFanPower", 103); setState(countVacuum[v] + channelRooms + "." + roomchannel + ".roomWaterBoxMode", 202); } } }//////////////////// Vacuum 1 ////////////////////// //Die beim nach Hause schicken die Queue leeren on({id: 'mihome-vacuum.0.control.home', val: true}, function() { setState('mihome-vacuum.0.control.clearQueue', true); }); //Die Queue der aktuellen Reinigung löschen wenn Vacuum in der Ladestation ist on({id: 'mihome-vacuum.0.info.state'/*Vacuum state*/, val: 8}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', ''); }); //Den aktuell zu reinigenden Raum ermitteln on({id: 'mihome-vacuum.0.rooms.106001012191.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.106001012191').common.name); }); on({id: 'mihome-vacuum.0.rooms.106001012206.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.106001012206').common.name); }); on({id: 'mihome-vacuum.0.rooms.106001012207.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.106001012207').common.name); }); on({id: 'mihome-vacuum.0.rooms.106001012208.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.106001012208').common.name); }); on({id: 'mihome-vacuum.0.rooms.106001012209.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.106001012209').common.name); }); on({id: 'mihome-vacuum.0.rooms.106001012210.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.106001012210').common.name); }); on({id: 'mihome-vacuum.0.rooms.manual_23502_24895_25102_25995.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.manual_23502_24895_25102_25995').common.name); }); on({id: 'mihome-vacuum.0.rooms.manual_25235_29306_27535_30356.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.manual_25235_29306_27535_30356').common.name); }); on({id: 'mihome-vacuum.0.rooms.manual_27763_30413_29163_33013.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.manual_27763_30413_29163_33013').common.name); }); //Die Standard CleaningQueue anpassen on({id: 'mihome-vacuum.0.info.queue', change: 'any'}, function (obj) { var queue = obj.state.val var tmpCleaningQueue = "Next: "; if (queue.length != 0) { log(queue.length); queue.reverse(); for (var i = 0; i < queue.length; i++){ tmpCleaningQueue += queue[i].replace("segment", "").replace("zone", ""); if(i+1<queue.length){ tmpCleaningQueue+= ","; } } } else { tmpCleaningQueue = ""; } setState('0_userdata.0.mihome-vacuum.0.cleaningQueue'/*cleaning queue*/, tmpCleaningQueue) }); //Auf den Button goToServicepoint reagieren on({id: '0_userdata.0.mihome-vacuum.0.goToService'/*goToService*/, val: true}, function (obj) { var servicepoint = getState('0_userdata.0.mihome-vacuum.0.servicepoint'/*map index*/).val; setState('mihome-vacuum.0.control.goTo'/*Go to point*/,servicepoint); }); //////////////////// Vacuum 2 ////////////////////// //Die beim nach Hause schicken die Queue leeren on({id: 'mihome-vacuum.1.control.home', val: true}, function() { setState('mihome-vacuum.1.control.clearQueue', true); }); //Die Queue der aktuellen Reinigung löschen wenn Vacuum in der Ladestation ist on({id: 'mihome-vacuum.1.info.state'/*Vacuum state*/, val: 8}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', ''); }); //Den aktuell zu reinigenden Raum ermitteln on({id: 'mihome-vacuum.1.rooms.106001012200.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', getObject('mihome-vacuum.1.rooms.106001012200').common.name); }); on({id: 'mihome-vacuum.1.rooms.106001012201.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', getObject('mihome-vacuum.1.rooms.106001012201').common.name); }); on({id: 'mihome-vacuum.1.rooms.106001012202.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', getObject('mihome-vacuum.1.rooms.106001012202').common.name); }); on({id: 'mihome-vacuum.1.rooms.106001012203.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', getObject('mihome-vacuum.1.rooms.106001012203').common.name); }); on({id: 'mihome-vacuum.1.rooms.106001012205.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', getObject('mihome-vacuum.1.rooms.106001012205').common.name); }); on({id: 'mihome-vacuum.1.rooms.106001012607.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', getObject('mihome-vacuum.1.rooms.106001012607').common.name); }); //Die Standard CleaningQueue anpassen on({id: 'mihome-vacuum.1.info.queue', change: 'any'}, function (obj) { var queue = obj.state.val var tmpCleaningQueue = "Next "; if (queue.length != 0) { for (var i = 0; i < queue.length; i++){ tmpCleaningQueue += queue[i].replace("segment", "").replace("zone", ""); if(i+1<queue.length){ tmpCleaningQueue+= ","; } } } else { tmpCleaningQueue = ""; } setState('0_userdata.0.mihome-vacuum.1.cleaningQueue'/*cleaning queue*/, tmpCleaningQueue) }); //Auf den Button goToServicepoint reagieren on({id: '0_userdata.0.mihome-vacuum.1.goToService'/*goToService*/, val: true}, function (obj) { var servicepoint = getState('0_userdata.0.mihome-vacuum.1.servicepoint'/*map index*/).val; setState('mihome-vacuum.1.control.goTo'/*Go to point*/,servicepoint); }); -
@s-bormann wie gesagt, wenn probs gibt, machen wir wieder eine sitzung!

@dslraser deine sachen passen jetzt? ohne text... -
@s-bormann wie gesagt, wenn probs gibt, machen wir wieder eine sitzung!

@dslraser deine sachen passen jetzt? ohne text...@da_woody sagte in Test Adapter iQontrol 1.9.x Vis:
deine sachen passen jetzt? ohne text...
Sorry, ja, passt....

-
@da_woody said in Test Adapter iQontrol 1.9.x Vis:
@s-bormann wie gesagt, wenn probs gibt, machen wir wieder eine sitzung!

@dslraser deine sachen passen jetzt? ohne text...Hier sieht es weitestgehend gut aus. Überschriften fehlen noch.
@muuulle sagte in Test Adapter iQontrol 1.9.x Vis:
@da_woody said in Test Adapter iQontrol 1.9.x Vis:
@s-bormann wie gesagt, wenn probs gibt, machen wir wieder eine sitzung!

@dslraser deine sachen passen jetzt? ohne text...Hier sieht es weitestgehend gut aus. Überschriften fehlen noch.
Schreib mich an, wenn Du Zeit hast, dann schauen wir.
-
@rookie50 sagte in Test Adapter iQontrol 1.7.x Vis:
Hi Woody, ich habe eine kl. Anleitung geschrieben, wie ich es mit der Alexa FB in iQontrol gemacht habe. Sag mal bescheid, ob Du damit klar kommst.
Gruß
RookieSehr schöne Anleitung!
Darf ich die im Wiki posten?
LG@s-bormann
@rookie50 sagte in Test Adapter iQontrol 1.7.x Vis:
@da_woody Alexa-FB.pdf Hi Woody, ich habe eine kl. Anleitung geschrieben, wie ich es mit der Alexa FB in iQontrol gemacht habe. Sag mal bescheid, ob Du damit klar kommst. Gruß RookieSehr schöne Anleitung!
Darf ich die im Wiki posten?
LGpöff. die umschaltung funktioniert bei mir überhaupt nicht mehr. auch komm ich mir der beschreibung unter admin5 überhaupt nicht mehr zurecht...

-
Hi @kilasat,
hier die beiden Javascripte. Als erstes die Datenpunkte hinzufügen und das Script einmal ausführen (1. Script), danach das 2. Script aktivieren und laufen lassen. Achso, natürlich noch die Werte (in beiden Scripts) anpassen, ich habe 2 von den Dingern laufen und da kannste alles für den 2. rausschmeißen.
In der Json ist meine Sicht mit dem Gerät, die kannste importieren und auch auf deine Datenpunkte anpassen./* Setze neue Datenpunkte für * - Wartungspunkt setzen pro Vacuum * - Weitere Zonen einrichten, über script, da wenn der Adapter mal nicht mehr funktioniert die Werte nicht erneut ermittelt werden müssen * - Warteschlange erzeugen, Standard reichte mir nicht * - */ //Settings //Anzahl der Vacuum var countVacuum = ['mihome-vacuum.0', 'mihome-vacuum.1']; var channelRooms = '.rooms'; var servicePoints = ['22250,32300','27950,25450'] var addRrooms = [ { 'room' : ['Zone1','Zone2','Zone3'], 'datenpunkt' : [[25235,29306,27535,30356],[23502,24895,25102,25995],[27763,30413,29163,33013]] } ] //Channel für alle Vacuum unter userdata anlegen setObject("0_userdata.0.vacuums", { common: { name: "Vacuums Zusatzpunkte" }, type: "channel" }); //Datenpunkte für ServicePoint und CleaningQueue pro Vacuum anlegen for (var v = 0; v < countVacuum.length; v++) { //Koordinaten des jeweiligen ServicPoints speichern if (servicePoints[v] != null){ createState("0_userdata.0." + countVacuum[v] + ".servicepoint", servicePoints[v], false, { name: "servicepoint", desc: "coordinates of servicepoint", type: "number", role: "value", unit: "", read: false, write: false }); } //Eine erweiterte CleaningQueue anlegen, in der dann Zone und Segment herausgefiltert wird und nur der Name steht createState("0_userdata.0." + countVacuum[v] + ".cleaningQueue", "", false, { name: "cleaning queue", desc: "cleaning queue", type: "object", role: "info", unit: "", read: true, write: true }); //Für die Ermittlung und anzeige des aktuellen Raumes, der gereinigt wird createState("0_userdata.0." + countVacuum[v] + ".currentRoom", "", false, { name: "current cleaning", desc: "current cleaning room or zone", type: "object", role: "info", unit: "", read: true, write: true }); //Datenpunkt für den Button Servicepoint createState("0_userdata.0." + countVacuum[v] + ".goToService", false, false, { name: "goToService", desc: "going to ServicePointcleaning queue", type: "boolean", role: "button", unit: "", read: false, write: true }); //Weitere Zonen anlegen if(addRrooms[v]!=null){ for (var i = 0; i < addRrooms[v]['room'].length; i++) { setState(countVacuum[v] + channelRooms + ".addRoom", addRrooms[v]['datenpunkt'][i]); var roomchannel = addRrooms[v]['datenpunkt'][i].toString(); roomchannel = roomchannel.replace("[", ""); roomchannel = roomchannel.replace("]", ""); roomchannel = roomchannel.split(",").join("_"); /*replaceAll(",", "_");*/ setState(countVacuum[v] + channelRooms + "." + roomchannel + ".roomFanPower", 103); setState(countVacuum[v] + channelRooms + "." + roomchannel + ".roomWaterBoxMode", 202); } } }//////////////////// Vacuum 1 ////////////////////// //Die beim nach Hause schicken die Queue leeren on({id: 'mihome-vacuum.0.control.home', val: true}, function() { setState('mihome-vacuum.0.control.clearQueue', true); }); //Die Queue der aktuellen Reinigung löschen wenn Vacuum in der Ladestation ist on({id: 'mihome-vacuum.0.info.state'/*Vacuum state*/, val: 8}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', ''); }); //Den aktuell zu reinigenden Raum ermitteln on({id: 'mihome-vacuum.0.rooms.106001012191.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.106001012191').common.name); }); on({id: 'mihome-vacuum.0.rooms.106001012206.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.106001012206').common.name); }); on({id: 'mihome-vacuum.0.rooms.106001012207.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.106001012207').common.name); }); on({id: 'mihome-vacuum.0.rooms.106001012208.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.106001012208').common.name); }); on({id: 'mihome-vacuum.0.rooms.106001012209.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.106001012209').common.name); }); on({id: 'mihome-vacuum.0.rooms.106001012210.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.106001012210').common.name); }); on({id: 'mihome-vacuum.0.rooms.manual_23502_24895_25102_25995.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.manual_23502_24895_25102_25995').common.name); }); on({id: 'mihome-vacuum.0.rooms.manual_25235_29306_27535_30356.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.manual_25235_29306_27535_30356').common.name); }); on({id: 'mihome-vacuum.0.rooms.manual_27763_30413_29163_33013.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.0.currentRoom', getObject('mihome-vacuum.0.rooms.manual_27763_30413_29163_33013').common.name); }); //Die Standard CleaningQueue anpassen on({id: 'mihome-vacuum.0.info.queue', change: 'any'}, function (obj) { var queue = obj.state.val var tmpCleaningQueue = "Next: "; if (queue.length != 0) { log(queue.length); queue.reverse(); for (var i = 0; i < queue.length; i++){ tmpCleaningQueue += queue[i].replace("segment", "").replace("zone", ""); if(i+1<queue.length){ tmpCleaningQueue+= ","; } } } else { tmpCleaningQueue = ""; } setState('0_userdata.0.mihome-vacuum.0.cleaningQueue'/*cleaning queue*/, tmpCleaningQueue) }); //Auf den Button goToServicepoint reagieren on({id: '0_userdata.0.mihome-vacuum.0.goToService'/*goToService*/, val: true}, function (obj) { var servicepoint = getState('0_userdata.0.mihome-vacuum.0.servicepoint'/*map index*/).val; setState('mihome-vacuum.0.control.goTo'/*Go to point*/,servicepoint); }); //////////////////// Vacuum 2 ////////////////////// //Die beim nach Hause schicken die Queue leeren on({id: 'mihome-vacuum.1.control.home', val: true}, function() { setState('mihome-vacuum.1.control.clearQueue', true); }); //Die Queue der aktuellen Reinigung löschen wenn Vacuum in der Ladestation ist on({id: 'mihome-vacuum.1.info.state'/*Vacuum state*/, val: 8}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', ''); }); //Den aktuell zu reinigenden Raum ermitteln on({id: 'mihome-vacuum.1.rooms.106001012200.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', getObject('mihome-vacuum.1.rooms.106001012200').common.name); }); on({id: 'mihome-vacuum.1.rooms.106001012201.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', getObject('mihome-vacuum.1.rooms.106001012201').common.name); }); on({id: 'mihome-vacuum.1.rooms.106001012202.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', getObject('mihome-vacuum.1.rooms.106001012202').common.name); }); on({id: 'mihome-vacuum.1.rooms.106001012203.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', getObject('mihome-vacuum.1.rooms.106001012203').common.name); }); on({id: 'mihome-vacuum.1.rooms.106001012205.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', getObject('mihome-vacuum.1.rooms.106001012205').common.name); }); on({id: 'mihome-vacuum.1.rooms.106001012607.state'/*info*/, val: "clean Room"}, function() { setState('0_userdata.0.mihome-vacuum.1.currentRoom', getObject('mihome-vacuum.1.rooms.106001012607').common.name); }); //Die Standard CleaningQueue anpassen on({id: 'mihome-vacuum.1.info.queue', change: 'any'}, function (obj) { var queue = obj.state.val var tmpCleaningQueue = "Next "; if (queue.length != 0) { for (var i = 0; i < queue.length; i++){ tmpCleaningQueue += queue[i].replace("segment", "").replace("zone", ""); if(i+1<queue.length){ tmpCleaningQueue+= ","; } } } else { tmpCleaningQueue = ""; } setState('0_userdata.0.mihome-vacuum.1.cleaningQueue'/*cleaning queue*/, tmpCleaningQueue) }); //Auf den Button goToServicepoint reagieren on({id: '0_userdata.0.mihome-vacuum.1.goToService'/*goToService*/, val: true}, function (obj) { var servicepoint = getState('0_userdata.0.mihome-vacuum.1.servicepoint'/*map index*/).val; setState('mihome-vacuum.1.control.goTo'/*Go to point*/,servicepoint); }); -
Hi Meerkat,
Danke noch für die Scripe und die JSON. Ich habe noch ein paar Fragen dazu. Soll ich das hier im Thread behandeln oder dich direkt anfragen?
Danke und Gruss
Alex -
Hi Meerkat,
Danke noch für die Scripe und die JSON. Ich habe noch ein paar Fragen dazu. Soll ich das hier im Thread behandeln oder dich direkt anfragen?
Danke und Gruss
Alex -
@s-bormann Ich komme damit einfach nicht weiter. Zum Testen hab ich einen DP angelegt. Nehme ich eines der beiden Homematic-Thermostate, passiert im DP nichts. Ändere ich den DP manuell, wird die Änderung in der Vis korrekt angezeigt. Nehme ich das normale Thermostat, funktioniert die Änderung im DP nur mit den Einstellungen "string" und "state".
Warum ist im normalen Thermostat nur die Darstellung als Pulldown-Menü möglich?
Bis zur Version 1.9.0 hat die Steuerung mit dem Homematic-Thermostat problemlos funktioniert. Was hat sich dort geändert?
Was für Befehle und Einstellungen braucht man für die beiden Homematic-Thermostate?
LG
-
@s-bormann
Frage: bei den remote channels in der Fernbedienung lassen sich die Namen ausblenden
Ginge das auch bei den additional control im widget ?
Ich habe mal Testweise meine Rollos in ein Widget gepackt, da ist dann quasi die "Unterüberschrift", also bei hoch / runter / stopp "doppelt" bzw. über, da würde die Beschriftung auf dem Button reichen.
Also nicht generell entfernen, aber vielleicht als Option mit einem Haken setzen ?
-
@s-bormann
Frage: bei den remote channels in der Fernbedienung lassen sich die Namen ausblenden
Ginge das auch bei den additional control im widget ?
Ich habe mal Testweise meine Rollos in ein Widget gepackt, da ist dann quasi die "Unterüberschrift", also bei hoch / runter / stopp "doppelt" bzw. über, da würde die Beschriftung auf dem Button reichen.
Also nicht generell entfernen, aber vielleicht als Option mit einem Haken setzen ?
@dslraser sagte in Test Adapter iQontrol 1.9.x Vis:
@s-bormann
Frage: bei den remote channels in der Fernbedienung lassen sich die Namen ausblenden
Ginge das auch bei den additional control im widget ?
Ich habe mal Testweise meine Rollos in ein Widget gepackt, da ist dann quasi die "Unterüberschrift", also bei hoch / runter / stopp "doppelt" bzw. über, da würde die Beschriftung auf dem Button reichen.
Also nicht generell entfernen, aber vielleicht als Option mit einem Haken setzen ?
Das geht schon, in den Optionen für ADDITIONAL_CONTROLS gibt es das (also nicht in der Tabelle, sondern in den globalen Optionen, die Namen für Buttons auszublenden)
-
@dslraser sagte in Test Adapter iQontrol 1.9.x Vis:
@s-bormann
Frage: bei den remote channels in der Fernbedienung lassen sich die Namen ausblenden
Ginge das auch bei den additional control im widget ?
Ich habe mal Testweise meine Rollos in ein Widget gepackt, da ist dann quasi die "Unterüberschrift", also bei hoch / runter / stopp "doppelt" bzw. über, da würde die Beschriftung auf dem Button reichen.
Also nicht generell entfernen, aber vielleicht als Option mit einem Haken setzen ?
Das geht schon, in den Optionen für ADDITIONAL_CONTROLS gibt es das (also nicht in der Tabelle, sondern in den globalen Optionen, die Namen für Buttons auszublenden)
-
@dslraser sagte in Test Adapter iQontrol 1.9.x Vis:
@s-bormann
Frage: bei den remote channels in der Fernbedienung lassen sich die Namen ausblenden
Ginge das auch bei den additional control im widget ?
Ich habe mal Testweise meine Rollos in ein Widget gepackt, da ist dann quasi die "Unterüberschrift", also bei hoch / runter / stopp "doppelt" bzw. über, da würde die Beschriftung auf dem Button reichen.
Also nicht generell entfernen, aber vielleicht als Option mit einem Haken setzen ?
Das geht schon, in den Optionen für ADDITIONAL_CONTROLS gibt es das (also nicht in der Tabelle, sondern in den globalen Optionen, die Namen für Buttons auszublenden)
@s-bormann sagte in Test Adapter iQontrol 1.9.x Vis:
Das geht schon, in den Optionen für ADDITIONAL_CONTROLS gibt es das (also nicht in der Tabelle, sondern in den globalen Optionen, die Namen für Buttons auszublenden)
Meinst Du das ? (ganz unten)

Das ändert aber nichts ?
-
@s-bormann
Besten Dank für den Dark Mode. Hier mein Strand der Dinge, ein bisschen Liebe muss aber noch investiert werden
Normal

Dark Mode

@muuulle naja, dafür freie einstellungen! besser, als nur einen filter drüberlegen...
bei der session gestern ist uns auf gefallen, daß das problem mit der jetzigen version, nicht auffällt.
mein widget passt nur so rein. drum ist unten grösserer abstand.

bei der ersten version, hatte ich dort eine graue fläche... -
@muuulle naja, dafür freie einstellungen! besser, als nur einen filter drüberlegen...
bei der session gestern ist uns auf gefallen, daß das problem mit der jetzigen version, nicht auffällt.
mein widget passt nur so rein. drum ist unten grösserer abstand.

bei der ersten version, hatte ich dort eine graue fläche... -
@da_woody
Ein allgemeiner Überzug ist deutlich uncharmanter als die jetzige Variante! Ich muss allerdings noch an den Farben drehen - vor allem bei den Schriftfarben
-
@s-bormann sagte in Test Adapter iQontrol 1.9.x Vis:
Das geht schon, in den Optionen für ADDITIONAL_CONTROLS gibt es das (also nicht in der Tabelle, sondern in den globalen Optionen, die Namen für Buttons auszublenden)
Meinst Du das ? (ganz unten)

Das ändert aber nichts ?
@dslraser Ja genau, ich habe aber gerade gesehen, dass ich das nur für die Art "Knopf" implementiert hatte, nicht für "abhängig vom Datenpunkt" oder "schreibgeschützt":

In der aktuellen Github-Version habe ich das korrigiert. Danke für den Hinweis.
-
Mir ist gerade aufgefallen das ich einige View nicht mehr aufrufen kann.
Sie sind in der Toolbar zum anwählen vorhanden. Beim draufklicken passiert nichts. Auf dem Handy werden beim swipen diese Ansichten dann übersprungen. Zudem ist ein Grafana Diagramm und 2 Cam Streams blank.
Die Ansichten sind vorhanden, unter Toolbar auch verknüft. Die Ansichten mit den Geräten lassen sich auch bearbeiten.
@cino sagte in Test Adapter iQontrol 1.9.x Vis:
Mir ist gerade aufgefallen das ich einige View nicht mehr aufrufen kann.
Sie sind in der Toolbar zum anwählen vorhanden. Beim draufklicken passiert nichts. Auf dem Handy werden beim swipen diese Ansichten dann übersprungen. Zudem ist ein Grafana Diagramm und 2 Cam Streams blank.
Die Ansichten sind vorhanden, unter Toolbar auch verknüft. Die Ansichten mit den Geräten lassen sich auch bearbeiten.
Hallo,
bitte die folgenden Schritte durchführen. Bei weiteren Problemen bitte vor allem den 2. Absatz beachten, hier wird beschrieben, wie man ein Log des Fehlers erzeugt und welche Screenshots für die weitere Analyse notwendig sind:
https://github.com/sbormann/ioBroker.iqontrol#troubleshooting
Vielen Dank!
-
@s-bormann Ich komme damit einfach nicht weiter. Zum Testen hab ich einen DP angelegt. Nehme ich eines der beiden Homematic-Thermostate, passiert im DP nichts. Ändere ich den DP manuell, wird die Änderung in der Vis korrekt angezeigt. Nehme ich das normale Thermostat, funktioniert die Änderung im DP nur mit den Einstellungen "string" und "state".
Warum ist im normalen Thermostat nur die Darstellung als Pulldown-Menü möglich?
Bis zur Version 1.9.0 hat die Steuerung mit dem Homematic-Thermostat problemlos funktioniert. Was hat sich dort geändert?
Was für Befehle und Einstellungen braucht man für die beiden Homematic-Thermostate?
LG
@bengreenhigh sagte in Test Adapter iQontrol 1.9.x Vis:
@s-bormann Ich komme damit einfach nicht weiter. Zum Testen hab ich einen DP angelegt. Nehme ich eines der beiden Homematic-Thermostate, passiert im DP nichts. Ändere ich den DP manuell, wird die Änderung in der Vis korrekt angezeigt. Nehme ich das normale Thermostat, funktioniert die Änderung im DP nur mit den Einstellungen "string" und "state".
Warum ist im normalen Thermostat nur die Darstellung als Pulldown-Menü möglich?
Bis zur Version 1.9.0 hat die Steuerung mit dem Homematic-Thermostat problemlos funktioniert. Was hat sich dort geändert?
Was für Befehle und Einstellungen braucht man für die beiden Homematic-Thermostate?
LG
Hi,
hab gerade noch mal in den Code geschaut. Die Homematic-Thermostate (nicht IP! Da ist es wieder anders) senden ihre Auswahl nicht an den Datenpunkt selbst, sondern an .BOOST_MODE, .MANU_MODE und .AUTO_MODE.Erstelle mal bitte den Datenpunkt .CONTROL_MODE mit folgenden Einstellungen:
{ "type": "state", "common": { "name": "Heizungssteuerung Wohnzimmer - Sollwert.CONTROL_MODE", "def": 0, "type": "number", "read": true, "write": false, "min": 0, "max": 3, "states": { "0": "AUTO-MODE", "1": "MANU-MODE", "2": "PARTY-MODE", "3": "BOOST-MODE" }, "role": "indicator" }, "native": {} }und die oben genannen drei Datenpunkte im gleichen Verzeichnis mit
{ "common": { "name": "Test.Testbool", "role": "button", "type": "boolean", "desc": "Manuell erzeugt", "def": "", "read": true, "write": true }, "native": {} }Und diese drei Datenpunkte müsstest Du dann mit einem Blockly abgreifen und entsprechend die gewünschten Funktionen ausführen lassen.
