[ VERSION 0.2.4 ] 74_HOMBOT.pm, Steuerung eines LG Hombot Staubsaugerroboters

Begonnen von CoolTux, 30 November 2015, 10:45:42

Vorheriges Thema - Nächstes Thema

CoolTux

Hier der Teilauszug aus meiner Flur.html


<li data-row="2" data-col="4" data-sizex="3" data-sizey="2" class="halbTransparent">
<header>Roberta Staubsaugerroboter</header>
<div class="container">
        <div class="cell left inline">
                <div data-type="popup" data-draggable="false" data-height="267px" data-width="327px" >
                        <div data-type="button"
                                data-get="STATE"
                                data-icon="fa-video-camera"
                                data-on-color="orange"
                                data-off-color="orange"
                                data-background-icon="fa-circle-thin"
                                data-on-background-color="#553400"
                                data-off-background-color="#553400"
                                data-get-on="on"
                                class="big">
                        </div>
                        <div class="dialog">
                                <header>Roberta Live Cam</header>
                                        <div data-type="iframe"
                                                data-src="robertaCam.html"
                                                data-width="320"
                                                data-height="240">
                                        </div>
                        </div>
                </div>

        </div>
        <div class="cell inline left">
                <div class="cell left">
                        <div class="left left-space-3x">
                                <div style="position: absolute; z-index: 0; left: 120; top: 120;"
                                        data-type="symbol" data-device="Roberta"
                                        data-get="hombotState"
                                        data-get-on='["OFFLINE","CHARGING","WORKING","HOMING","STANDBY","UNKNOWN","BACKMOVING_INIT"]'
                                        data-icons='["","fa-plug blink","fa-cogs blink","fa-home blink","fa-exclamation","fa-exclamation-triangle blink","fa-exclamation"]'
                                        data-on-colors='["#aa6900","green","#aa6900","#aa6900","green","#aa6900"]'
                                        class="small narrow" >
                                </div>
                        </div>
                        <div class="left">
                                <div style="position: absolute; z-index: 1; left: 100; top: 100;"
                                        data-type="symbol" data-device="Roberta"
                                        data-get="hombotState"
                                        data-get-on='["OFFLINE","CHARGING","WORKING","HOMING","STANDBY","UNKNOWN","BACKMOVING_INIT"]'
                                        data-icons='["oa-scene_robo_lawnmower","oa-scene_robo_lawnmower","oa-scene_robo_lawnmower","oa-scene_robo_lawnmower","oa-scene_robo_lawnmower","oa-scene_robo_lawnmower","oa-scene_robo_lawnmower"]'
                                        data-icon="oa-scene_robo_lawnmower"
                                        data-on-colors='["#505050","#aa6900","green","green","#aa6900","red"]'
                                        class="top-space bigger narrow" >
                                </div>
                        </div>
                </div>
        </div>
        <div class= "cell inline darker right right-space-3x top-space">
                <table width="30%">
                        <tr><td>
                                <div class="left">Hombot Status : </div>
                        </td><td>
                                <div data-type="label" data-device="Roberta"
                                        data-get="hombotState"
                                        style="color:#aa6900"
                                        class="right" >
                                </div>
                        </td></tr>
                        <tr><td>
                                <div class="left">Batteriestatus: </div>
                        </td><td>
                                <div data-type="label" data-device="Roberta"
                                     data-get="batteryPercent"
                                        data-unit="%"
                                        style="color:#aa6900"
                                        class="right" >
                                </div>
                        </td></tr>
                        <tr><td>
                                <div class="left">Reinigungsmodus: </div>
                        </td><td>
                                <div data-type="label" data-device="Roberta"
                                        data-get="cleanMode"
                                        style="color:#aa6900"
                                        class="right" >
                                </div>
                        </td></tr>
                        <tr><td>
                                <div class="left">Turbo: </div>
                        </td><td>
                                <div data-type="label" data-device="Roberta"
                                        data-get="turbo"
                                        style="color:#aa6900"
                                        class="right" >
                                </div>
                        </td></tr>
                        <tr><td>
                                <div class="left">Repeat: </div>
                        </td><td>
                                <div data-type="label" data-device="Roberta"
                                        data-get="repeat"
                                        style="color:#aa6900"
                                        class="right" >
                                </div>
                        </td></tr>
                </table>
        </div>
</div>
<div class="container left top-space">
        <div class="left cell inline left-space">
                <div data-type="push" data-device="Roberta"
                        data-set-on="statusRequest"
                        data-icon="fa-refresh"
                        data-on-color="#aa6900"
                        data-off-color="#aa6900"
                        data-background-icon="fa-circle-thin"
                        data-on-background-color="#aa6900"
                        data-off-background-color="#553400" >
                </div>
                <div data-type="switch" data-device="RobertaFlur_Netzschalter"
                        data-icon="fa-plug"
                        data-on-color="#aa6900"
                        data-off-color="#2A2A2A"
                        data-background-icon="fa-circle-thin"
                        data-on-background-color="#aa6900"
                        data-off-background-color="#553400" >
                </div>
                <div data-type="push" data-device="Roberta"
                        data-set-on="cleanStart"
                        data-icon="fa-cogs"
                        data-on-color="#aa6900"
                        data-off-color="#aa6900"
                        data-background-icon="fa-circle-thin"
                        data-on-background-color="#aa6900"
                        data-off-background-color="#553400" >
                </div>
                <div data-type="push" data-device="Roberta"
                        data-set-on="homing"
                        data-icon="fa-home"
                        data-on-color="#aa6900"
                        data-off-color="#aa6900"
                        data-background-icon="fa-circle-thin"
                        data-on-background-color="#aa6900"
                        data-off-background-color="#553400" >
                </div>
                <div data-type="select" data-device="Roberta"
                        data-alias='["Zick Zack","Cell by Cell"]'
                        data-items='["ZZ","SB"]'
                        data-set="cleanMode"
                        data-get="cleanMode"
                        class="left-space-2x" >
                </div>
        </div>
</div>



Und hier die robertaCam.html wo dann das js drin steht


<!DOCTYPE html>
<html>
<head>
        <script type="text/javascript" src="/fhem/tablet/js/hombotCam.js"></script>
</head>
<body onload="drawSnapshot()">
        <div id="cam"><canvas id="cam_canvas" width="320" height="240"></canvas></div>
</body>
</html>



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

stefanru

Hi CoolTux,

danke für die schnelle Antwort.
Leider habe ich mit IFrame auf dem Android Tablet Probleme.
Da kommt immer nur der traurige Smiley. Verstehe ich zwar auch nicht ganz warum, aber leider ist es so.

Ich versuche gerade die eine Seite nicht als pagetab zu machen, ist aber auch nicht so einfach...
Hast du noch eine andere Idee?

Gruß,
Stefan

CoolTux

Und wenn Du eine Seite machst wo alles enthalten ist und diese als data-template einbindest? Und aber nur schlecht geraten.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

stefanru

Ok,
habe es nun über einen normalen Iframe gelöst.

Vom Robot direkt hat das Tablet auch immer rumgesponnen.
Aber mit JS jetzt direkt im Tablet geht es einwandfrei!

<li data-row="6" data-col="4" data-sizex="4" data-sizey="4" class="semitransparent">
<header>Robot Livecam</header>
<iframe src="robot.html" height="260" width="340" scrolling="no" frameborder="0"></iframe>
</li>


Danke!
Stefan

Esjay

Zitat von: Ma_Bo am 22 Oktober 2016, 17:55:18
Hallo Leute,
könnt ihr mir mal eure Modelle nennen, die ihr so im Einsatz habt.

Ich möchte mir jetzt auch einen zulegen, weiß aber noch nicht so recht welchen.
Vielleicht hat der ein oder andere auch ne günstige Bezugsquelle. :)

Grüße Marcel
Hi Leute, ich beschäftige mich auch gerade mit dem Thema, deswegen greife ich Marcels Frage nochmal auf. Gibt es irgendwo eine Auflistung der Robis die unterstützt werden, oder kann man stumpf sagen Hombot --> funktioniert per fhem!

Danke für eure Infos!

Grüße Stephan

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

justme1968

ich hätte da mal einen vorschlag :)

wie wäre es mit einem set <name> reconnect kommando um die verbindung wieder her zu stellen wenn sie verloren gegangen ist?

modify und speichern ist so aufwändig :)

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

CoolTux

Hallo Andre,

Einfach ein statusRequest machen wenn der Kollege online ist  ;D
Mache ich zum Beispiel wenn seine Schaltsteckdose in geht.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

justme1968

hmmm...

das problem ist das er bei mir nicht mehr auf online geht wenn die verbindung ein mal komplett weg war.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

CoolTux

Das ist komisch. Ich schaue es mir mal an. Bei mir hat er es bis jetzt immer gemacht. Was kommt denn so bei verbose 5?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

the ratman

Zitat von: justme1968 am 08 Juni 2017, 17:30:19
hmmm...

das problem ist das er bei mir nicht mehr auf online geht wenn die verbindung ein mal komplett weg war.

gruss
  andre
willkommen im club.
war bei mir auch so, drum hab ich dan gefühlt 10 mio. scripte ausprobiert, die alle die verbindung, das wlan oder den ganzen server überwacht haben und neu starten sollten. fazit: 1 abgerauchter usb-stick.
lösung bis jetzt: keine
→do↑p!dnʇs↓shit←

CoolTux

Habe gerade mal im Code geschaut. Eigentlich sollte er das schon vernünftig machen.
Und ein modify löst das Problem?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

justme1968

@the ratman: du musst zwei dinge unterscheiden: der web server stürzt manchmal ab und muss per ssh neu gestartet werden. wenn das bei dir nicht geht stimmt die konfiguration nicht. das geht bei mir.

was nicht geht ist das die verbindung beim einschalten automatisch wieder aufgebaut wird.

@CoolTux: ja. modify hilft immer. statusRequest bringt mir die meldung das es nur geht wenn das ding auch online ist.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

the ratman

Zitat@the ratman: du musst zwei dinge unterscheiden: der web server stürzt manchmal ab und muss per ssh neu gestartet werden. wenn das bei dir nicht geht stimmt die konfiguration nicht. das geht bei mir.
blöd, dass ich da nie selber was angegriffen hab und das ding monatelag problelos gerannt is.
aber egal, ich hab ja, ne lösung. wenn dïe auch lang ned so schön wie cooltux modul ist.
→do↑p!dnʇs↓shit←