@Diginix Fix ist im Git 2.0.9-RC05.
Übrigens so sieht meine Vis aus, wenn de State eines Raumchannels gefüllt ist:
@Diginix Fix ist im Git 2.0.9-RC05.
Übrigens so sieht meine Vis aus, wenn de State eines Raumchannels gefüllt ist:
Hallo zusammen,
ich habe mir mal den mihome-cacuum Adapter geforkt, weil ich dort eigentlich 2 neue Dinge implemtieren wollte:
Ich bin jetzt mal angefangen, den Adapter zu erweitern. Dabei habe ich festgestellt, dass die Erkennung der features, je nach Modell, ein bisschen unglücklich gelöst wurde. Ich habe das jetzt mal angepasst und dabei auch sofort Unterstützung für den Wassertabk hinzugefügt.
Bitte mal testen, insbesondere vlt. auch mal Leute mit einem S5 oder älteren Modellen
Hier mal ein Screenshot von der Wassrtank Erweiterung:
und noch mit den Räumen:
Sobald an den Räumen etwas geändert wird, einfach auf loadRooms clicken, dann wird das geupdatet.
Mittlerweile können auch manuelle Räume hinzugefügt werden, indem entweder der Inder der Karte verwendet wird oder die Koordinaten der Zone
Timer
Es können jetzt Timer erstellt werden, damit man den Roboter vom Internet nehmen kann... Diese werden aber nur angezeigt, wenn auch Räume unterstützt werden.
Dazu können in der config die Timer generell erstellt werden: (Achtung, hier wird das materialdesign verwendet, da muss man bei den selectboxen ganz außen rechts clicken. Ich denke, @Bluefox wird das Problem schon kennen, da es da schon workaround code gibt, es hat aber nichts mit dem Adapter zu tun)
Dann werden folgende Datenpunkte erstellt:
Die können dann dort auch direkt an-/und ausgeschaltet werden oder auch einf einmal ausgesetzt werden. Die Räume können entweder über die Konfiguration oder über die Datenpunkte geändert werden. Nur die Tage/Zeiten müssen über die Konfiguration angepasst werden oder wenn ihr direkt einen Raumchannel antriggern wollt.
Direkt am channel Timer selber seht dann immer der nächste auszuführende Timer.
Die Datenpunkte können so auch schön in eine vis eingebunden werden und dort dannauch verändert werden.
Ihr könnt den jetzt über github installieren
https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum
gruß
Dirk
Sonst hätte ich hier auch noch ein kleines Script
(function(){
const id_alexa= "alexa2.0.Echo-Devices.xxxxxxx.Commands.speak";
const id_cal= 'ical.0.events.';
const id_cal_homeoffice_now= id_cal + '0.now.Homeoffice';
const id_Heizung_Buero= 'fritzdect.0.Comet_11xxx32';
on({id: id_cal_homeoffice_now, change:"ne"}, function(obj){
let temp= obj.state.val
? (getState(id_Heizung_Buero + '.comfytemp').val || 22)
: (getState(id_Heizung_Buero + '.nighttemp').val || 16) ;
setState(id_Heizung_Buero + '.targettemp', temp);
setState(id_alexa, '60;Die Heizung im Büro wurde auf ' + temp + ' Grad eingestellt');
});
schedule({hour: 19, minute: 0}, function(){
['Restabfall','Altpapier','GelberSack'].forEach(function(value){
if (getState(id_cal + '1.' + value).val === true)
setState(id_alexa, '60;Morgen ist ' + value);
})
});
schedule({hour: 7, minute: 0}, function(){
['Restabfall','Altpapier','GelberSack'].forEach(function(value){
if (getState(id_cal + '0.today.' + value).val === true)
setState(id_alexa, '60;Heute ist ' + value);
})
});
})();
Das mit dem Homeoffice kannst du löschen, ist halt mein aktuelles Kalender Script...
Allerdings braucht man noch ein kleinen Doc im iCal adapter, siehe https://github.com/iobroker-community-adapters/ioBroker.ical/issues/103
Gruss
Dirk
Aktuelle Test Version | 3.8.5 |
---|---|
Veröffentlichungsdatum | 30.10.2022 |
Github Link | https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum |
Hier Adapter Beschreibung, Changelog etc.
Ich habe in letzter Zeit einige Anpassungen in dem Adapter gemacht, das meiste war für die neuen S7 Modelle.
Da Meistertr, der die die Hauptarbeit an dem Adapter nicht mehr weiter macht, werde ich weiter ein Auge auf den Adapter haben. Das bezieht sich aber in der Hauptsache auf Bugfixes und ggf Kleinigkeiten, wie zum Beispiel von neueren Geräten eine neue Funktionalität einzubauen. Dazu brauche ich dann aber konkrete Hilfe, also wie der interne Befehl heißt oder welche Werte da auch angenommen werden können. Oft kann ich das dann einbauen, wenn die Kollegen zb. bei
https://github.com/marcelrv/XiaomiRobotVacuumProtocol oder https://github.com/rytilahti/python-miio das schon implementiert haben.
Karten
Ich selber nutzte die Karten nicht, daher hatte ich mich in der Vergangenheit da auch nicht groß drum gekümmert. Da wäre es gut, wenn sich jemand finden würde, der die nutzt und sich darin einarbeiten möchte. Meistertr hat zum Abschied noch ein paar neue Features, wie Teppicherkennung und automatisches Zoom eingebaut.
Dream Modelle
Es gibt immer wieder zig Anfragen, die Dream Modelle mit aufzunehmen, aber die Ticken halt alle ein bisschen anders. Wer sich dazu berufen fühlt, diese alle zu implementieren, ist herzlich eingeladen, das zu tun. Ich kann da gerne unterstützen, wenn es um das Verstehen des code geht, denn der ist über die Jahre mit den vielen Modellen leider nicht immer ganz so übersichtlich. Ich habe auch eine Zeit gebraucht, mich da einzuarbeiten.
So, jetzt geht es aber erst mal darum, die aktuelle Version 3.8.0 rund zu bekommen, dass wir die mal in stable bekommen.
Update:
So dass Logging wurde weiter angepasst, so dass das meiste jetzt im debug level landen sollte.
Dann habe ich noch ein Problem festgestellt, was mit der neuen Version reingekommen ist, dass es bei einem internen reconnect dazu kam, dass er eine neue Instanz geladen hat, was dann zu Effekten führte, dass er manche Sachen mehrfach getriggert hat. Bei mir hat er die Queue vollgemacht und der robbi ist zig mal gelaufen, oder das reinigen wurde gestartet aber nicht in den Status geschrieben oder auch erhöhte CPU Last. Das ist in der 3.8.5 gelöst sein
Ist mit der 3.8.8 jetzt produktiv
Ich habe gerade nochmal in den code geschaut. Sobald die connection weg ist, wartet er 10 sec und wenn dann immer noch offline, setzt er die connection auf false.
Man könnte drüber nachdenken, ob man states.power oder states.on dann ach schon direkt auf false setzt.
Das Problem ist jetzt, wie wir die Kuh vom Eis bekommen. Also ich denke, es braucht jetzt die Logs, damit bluefox sich anschauen kann, wo es klemmt. Er weiss am besten, was er geändert hat und warum.
@Bluefox vlt. Macht es Sinn, die 2.0.10 sich nun npm zur Verfügung zu stellen. Dann können Leute ggg. Die 2.1 testen und beobachten und dann schnell wieder zur funktionierenden zurückzukehren. Die 2.0.7 hat halt auch bugs
@saeft_2003 wir brauchen hier auf jeden Fall mal ein Debug-log.
Aber der Adapter sendet eigentlich erstmal nur "app_goto_target" mit den beiden Koordinaten zum Sauger. Wahrscheinlich können wir da gar nicht viel machen.
Aktuelle Test Version | 3.9.3 |
---|---|
Veröffentlichungsdatum | 04.01.2023 (3.9.0) |
Github Link | https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum |
Hier Adapter Beschreibung, Changelog etc.
3.9.0
3.9.1 <- bitte nicht mehr verwenden, ist fehlerhaft
3.9.2
3.9.3/3.9.4
3.10
Probiere es mal mit diesem regex
>\(([0-9]+) entitlements\)<
Ich hatte gestern nicht genau geschaut, die neuere Version ist noch nicht offiziell, ich hatte mich halt nur gewundert, weil die Zeilennummer nicht passt.
Gehe bei dir in der Datei iobroker/node_modules/iobroker.lgtv/lgtv.js ungefähr an Zeile 400 und suche mal folgendes:
if (~res.changed.indexOf('volume')){
volume = parseInt(res.volume);
adapter.setState('states.volume', volume, true);
}
if (~res.changed.indexOf('muted')){
adapter.setState('states.mute', res.muted, true);
}
mache daraus mal folgendes:
if (res && res.changed){
if (~res.changed.indexOf('volume')){
volume = parseInt(res.volume);
adapter.setState('states.volume', volume, true);
}
if (~res.changed.indexOf('muted')){
adapter.setState('states.mute', res.muted, true);
}
}
Wenn das hilft, können wir das in den Adapter übernehmen, allerdings vermute ich mal dass es da noch mehr solcher Änderungen gibt, dass muss dann ggf. alles angepasst werden
@tobib90 das würde ja der logik des adapters wiedersprechen, denn im normalfall entspricht der titel ja dem event.
Wenn du mehr willst, solltest du vlt das json verwenden.
@arno-l du kannst sowohl das script dopelln, als aucb 2 instanzen laufen lassen.
Aber ich vermute eher, dass du in deinem script noch irgenwo hard codiert entweder auf dieselbe quelle oder in dasselbe ziel schreibst. Im prinzip brauchst du das script auch nur einmal und kapselst das in ein object, bzw. Closure. Denn der code ist ja identisch, aber du willst quasi 2 verschiedene instanzen haben, also die internen Variablen kapseln.
Also mach ein closure drum und rufe es dann 2 mal auf, mit den jeweils unterschiedlichen parametern. Wenn du dich damit beschäftigst, findest du auch ggf. Die stellte, wo noch was hard codiert ist
@tobib90 für google habe ich das schritt für schritt dokumentiert. Ist leider nicht so einfach. https://github.com/dirkhe/ioBroker.webcal/blob/master/doc/google.md
ical ist nur readOnly, Ich nutze einen nextcloud kalender, aber es gehen auch anders kalender, die zb. Webdav unterstützen.
@rikdrs und wie hast du die url jetzt in webcal eingegeben? bei readonly solltesf due die eingeben können, natürlich mit http, wie in dem verlinkten beitrag. Wenn du echtes webcal willst, wo du auch schrejben kannst, musst du sicherlich eine andere url angeben.
Ich nutze tsdav, da steht folgendes
For apple you want to go to this page and after following the guide, you will have Apple ID and app-specific password.
@rikdrs wie sieht denn der link aus? Aber ios ist doch ein betriebssystem, schau bitte mal bei dem kalender provider, welchen link du nutzen solltest.
Ich kenne mich mit angebissenen obst nicht aus, vermute aber mal, ass es sich um die apple cloud handelt, keine ahnung, ob die webdav bereitstellen.
@rikdrs naja, du wirst dich doch wohl bei deinem provider anmelden müssen, sonst kann nan den kalender doch nicht öffnen. wäre ja fatal wenn das ohne user und passwort ginge.
@spoeh-man ich bekomme den zähler jetzt auch. Wie hast du den angeschlossen?
ABB:A - max485:B
ABB:B - max485:A
Max485:DI ESP32:txGPIO
Max485:R0 ESP32:rxGPIO
und natürlich 5v und GND
@randyandy dann musst du schon debuglogs posten, meind glaskugel ist vom rosenmontagszug gefallen...
Wenn du aber eine instanz schon eingeleseh hast, sollte das json aber schon gefüllt sein, bzw. Als event müsstest du dann ein * eingeben, weil der adapter normalerweise anders, nämlich auf fest definierte events, reagiert.
@randyandy also erstmal hast du die auf inaktive gestellt. Dann brauche ich mehr infos, welche events hast du definiert, was sagt das debug log usw.
@ben1983 wenn du auf objekte gehst, steht das oben rechts, ggf. Experten Moduls einschalten