Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

Domoticz - open source domotica systeem - deel 4 Vorige deelOverzicht

Pagina: 1 ... 78 ... 88 Laatste
Acties:

Onderwerpen


  • Cable_boy
  • Registratie: november 2001
  • Laatst online: 11:33
Misschien triggert de dimTo dit script waarna je hem dus uit zet. Kijk in je log of je meteen "Hey! I am off!" ziet.

i7 920 @ 4.2GHz || MacBook Pro 2017 || PV: 7000 Wp


  • insomniac
  • Registratie: februari 2006
  • Laatst online: 09:26
Zoiets is het wel, maar ik weet niet hoe ik dit kan oplossen
code:
1
2
3
4
5
6
7
8
9
          if (switch.state == 'On') then
              myHueLamp.dimTo(40)
              switch.dimTo(70)
              
              domoticz.log('Hey! I am on!')
         else
             domoticz.log('Hey! I am off!')
             myHueLamp.switchOff()
                     end

Dan gaan de twee lampen bij uitschakelen niet meer uit, maar gaan even uit en direct weer aan.
Ik heb het getest met een fibaroschakelaar voor de Staande Lamp, en bij devices de on ={'fibaropplug'} als trigger gebruikt, en dan werkt het wel.
Het is dus de switch.dimTo(70) die een trigger veroorzaakt.

edit:
ik bedacht me, als het met een fibaroplug werkt, zou het ook wel eens met een dummy switch werken.
Dat bleek te kloppen.

[Voor 8% gewijzigd door insomniac op 03-02-2020 13:53]

::.live pvoutput.:. UniFi Fan .:. ESP8266 knutselaar .:. Domotica hobbyist .::


  • MikeyMan
  • Registratie: februari 2003
  • Laatst online: 14:44

MikeyMan

Vidi, Vici, Veni

Goed, voelde toch niet helemaal lekker hoe het nu zat, dus maar ff from scratch begonnen...

Nieuwe SD kaart, nieuwe verse Raspbian install, verse domoticz.

Schijnbaar is er op 7 of 8 janauri een beta update geweest die de backwards compatibility om zeep heeft geholpen.

Maar ben weer up and running. Nu met een gat van anderhalve dag ipv zeven... Database van afgelopen vrijdag heb ik weer online gekregen door naar de clean install over te stappen naar de beta release, stop start te doen en daarna de dbase te vervangen.

Ga de komende week aan de slag om de afgelopen dagen netjes te krijgen, denk dat zaterdagavond nog wel een uitdaging wordt, maar heel erg is dat natuurlijk niet.

  • Daannn1987
  • Registratie: december 2012
  • Laatst online: 11:58
MikeOO schreef op maandag 3 februari 2020 @ 08:46:
[...]


code:
1
2
3
4
pi@raspberrypi:/var $ free -m
              total        used        free      shared  buff/cache   available
Mem:            840         304         112          11         423         464
Swap:             0           0           0


Had daarna apt-get purge dphys-swapfile uitgevoerd in in /var/swap bestand verwijderd en Raps herstart. Daarna krijg ik ook geen foutmelding meer maar goed dan gebruik je ook geen swap bestand meer.

Als ik daarna sudo apt-get install dphys-swapfile uitvoer zodat hij weer geïnstalleerd wordt gelijk tijdens installeren weer de foutmelding 8)7
hmpf.. ja dan weet ik 't ook niet. Blijkbaar heb je al e.e.a. gedaan :9
MikeyMan schreef op maandag 3 februari 2020 @ 16:00:
Goed, voelde toch niet helemaal lekker hoe het nu zat, dus maar ff from scratch begonnen...

Nieuwe SD kaart, nieuwe verse Raspbian install, verse domoticz.

Schijnbaar is er op 7 of 8 janauri een beta update geweest die de backwards compatibility om zeep heeft geholpen.

Maar ben weer up and running. Nu met een gat van anderhalve dag ipv zeven... Database van afgelopen vrijdag heb ik weer online gekregen door naar de clean install over te stappen naar de beta release, stop start te doen en daarna de dbase te vervangen.

Ga de komende week aan de slag om de afgelopen dagen netjes te krijgen, denk dat zaterdagavond nog wel een uitdaging wordt, maar heel erg is dat natuurlijk niet.
Oh... eens zoeken naar die BETA update & how to handle, waarschijnlijk heb ik hier ook nog steeds last van dan. Heb er nog weinig tijd ingestopt na het fixen van m'n python en de update naar Buster.

16xDMEGC 300WP (4800) @ SB5.0 ||| ELGA Toshiba Standalone


  • MikeyMan
  • Registratie: februari 2003
  • Laatst online: 14:44

MikeyMan

Vidi, Vici, Veni

Daannn1987 schreef op maandag 3 februari 2020 @ 16:15:
[...]

hmpf.. ja dan weet ik 't ook niet. Blijkbaar heb je al e.e.a. gedaan :9


[...]

Oh... eens zoeken naar die BETA update & how to handle, waarschijnlijk heb ik hier ook nog steeds last van dan. Heb er nog weinig tijd ingestopt na het fixen van m'n python en de update naar Buster.
Ik draai nu de laatste beta… Met een database die ik zaterdag, voordat ik naar diezelfde laatste beta overstapte, draaide. Dat gaat prima :)

FYI, dat is V4.11670

Of ik nu ooit nog terug kan naar stable is mij een raadsel...
Kwestie van stable aanvinken en wachten tot de stable versie V4.11670 overstijgt?

Krijg overigens wel een kleine 38000 liter waterverbruik binnen nu... Kan de waarde alleen niet verwijderen :(

edit: per ongeluk sensor verwijderen helpt ook niet. Terug naar dbase van 16:00 :X
Inmiddels ook overgestapt op buienradar ipv OWM.

[Voor 27% gewijzigd door MikeyMan op 03-02-2020 16:55]


  • MikeyMan
  • Registratie: februari 2003
  • Laatst online: 14:44

MikeyMan

Vidi, Vici, Veni

Het mergen van de data is nog redelijk gelukt ook...

- Oude dbase geopend, tabel geexporteerd als csv, nieuwe dbase zelfde verhaal.
- Regels geknipt en geplakt
- Tabel verwijderd uit juiste dbase
- Aangepaste CSV geïmporteerd als nieuwe tabel

Lekkere klus :(

Te vroeg gejuicht ook... Ik laat deze week het ding ff z'n gang gaan, en ga daarna alleen de dagstanden mergen...

[Voor 17% gewijzigd door MikeyMan op 03-02-2020 21:03]


  • bramv82
  • Registratie: oktober 2010
  • Laatst online: 01-04 17:00
Sinds 25 januari werkt de automatische upload van de meterstand van mijn slimme gasmeter naar Mindergas.nl ineens niet meer. Meer mensen last van?

  • MadDog11
  • Registratie: juni 2001
  • Laatst online: 14:44
scorpion303 schreef op zondag 2 februari 2020 @ 21:58:
[...]

......

Mijn enige uitdaging blijft dat ik binnenkort een extra hue bridge moet gaan gebruiken om verder te gaan groeien en ik echt nergens kan vinden of/hoe Domoticz met twee originele Phillips Hue bridges kan werken. Dit is echt nergens op Internet beschreven. 😕
Heb hier 2 bridges werken binnen Domoticz, geen enkel probleem

  • Dylantje2
  • Registratie: april 2007
  • Laatst online: 01-04 23:37
bramv82 schreef op maandag 3 februari 2020 @ 21:19:
Sinds 25 januari werkt de automatische upload van de meterstand van mijn slimme gasmeter naar Mindergas.nl ineens niet meer. Meer mensen last van?
WSS een pike gehad in je gasmeter?
En zal je huidige waarde onder de pike zitten.
Waar doe je het mee?
Mijn werkt oke..

zonneboiler, pelletkachel, 27 panels, Atlantic Wpb, pana 5 Kw H met LANbox, Domoticz, Grafana, Solarmeters, WPboiler: http://wqd.nl/dP9y, WP: http://wqd.nl/9GVg, Pana H versie thread: https://bit.ly/2Or4Unp


  • bing69
  • Registratie: december 2000
  • Laatst online: 10:47
Sinds een weekje draai ik een nieuwe install van Domoticz met een restore van een database. Valt me op dat het geheugen verbruik steeds meer oploopt, ook het processor verbruik neemt dan op een gegeven moment toe, zodanig dat het stroperig wordt. Een reboot lost het probleem dan weer even op.
https://tweakers.net/ext/f/ZCY4vFQBH9AbxT9N1WO3diK2/full.png

Bing


  • BlaTieBla
  • Registratie: november 2000
  • Laatst online: 01-04 09:58

BlaTieBla

Blake Returns

bing69 schreef op dinsdag 4 februari 2020 @ 13:18:
Sinds een weekje draai ik een nieuwe install van Domoticz met een restore van een database. Valt me op dat het geheugen verbruik steeds meer oploopt, ook het processor verbruik neemt dan op een gegeven moment toe, zodanig dat het stroperig wordt. Een reboot lost het probleem dan weer even op.
https://tweakers.net/ext/f/ZCY4vFQBH9AbxT9N1WO3diK2/full.png
De Pi ook helemaal opnieuw/schoon ingericht?
Ik had dit vroeger ook, maar na een volldige clean-install van de Pi blijkft het verbruik van de Pi zo tussen de 5 en 6 % zitten. De CPU <<5%.

foto's - thuis - twitter - leica - zeiss - fuji - apple | PSN = Sh4m1n0


  • bing69
  • Registratie: december 2000
  • Laatst online: 10:47
BlaTieBla schreef op dinsdag 4 februari 2020 @ 13:35:
[...]

De Pi ook helemaal opnieuw/schoon ingericht?
Ik had dit vroeger ook, maar na een volldige clean-install van de Pi blijkt het verbruik van de Pi zo tussen de 5 en 6 % zitten. De CPU <<5%.
Yep een nieuwe install met Raspbian Buster ipv Jessie. Domoticz opnieuw starten helpt niet, moet de hele Pi opnieuw starten.

Bing


  • BlaTieBla
  • Registratie: november 2000
  • Laatst online: 01-04 09:58

BlaTieBla

Blake Returns

Ik heb jessie nog draaien. Misschien dat daar een verschil in zit.

foto's - thuis - twitter - leica - zeiss - fuji - apple | PSN = Sh4m1n0


  • scorpion303
  • Registratie: juni 2002
  • Niet online
MadDog11 schreef op maandag 3 februari 2020 @ 21:59:
[...]
Heb hier 2 bridges werken binnen Domoticz, geen enkel probleem
Superbedankt voor de bevestiging! Nu kan ik zonder zorgen uitbreiden en met Domoticz aan de slag!

  • vwtune
  • Registratie: mei 2008
  • Laatst online: 27-03 10:19
BlaTieBla schreef op dinsdag 4 februari 2020 @ 14:01:
Ik heb jessie nog draaien. Misschien dat daar een verschil in zit.
Lekker zo houden ;)

  • bramv82
  • Registratie: oktober 2010
  • Laatst online: 01-04 17:00
Dylantje2 schreef op maandag 3 februari 2020 @ 23:21:
[...]


WSS een pike gehad in je gasmeter?
En zal je huidige waarde onder de pike zitten.
Waar doe je het mee?
Mijn werkt oke..
Ik heb de waarden in mindergas gecontroleerd en die zijn allemaal netjes oplopend.

Ik heb een P1 kabel op de USB van de RPI met hierop Domoticz en dan volgens de "The bash route using JQ" manier op deze pagina.

Zo werkt het al anderhalf jaar goed maar nu ineens niet meer.

Als ik het script handmatig uitvoer krijg ik de volgende foutmelding:

(meterstand is geen getal)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Inconsistency detected by ld.so: get-dynamic-info.h: 133: elf_get_dynamic_info: Assertion `info[DT_RELENT]->d_un.d_val == sizeof (ElfW(Rel))' failed!
(23) Failed writing body
*   Trying 213.207.97.49...
* TCP_NODELAY set
* Connected to www.mindergas.nl (213.207.97.49) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: OU=Domain Control Validated; OU=PositiveSSL; CN=mindergas.nl
*  start date: Jul 23 00:00:00 2019 GMT
*  expire date: Jul 25 23:59:59 2020 GMT
*  subjectAltName: host "www.mindergas.nl" matched cert's "www.mindergas.nl"
*  issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA
*  SSL certificate verify ok.
> POST /api/gas_meter_readings HTTP/1.1
> Host: www.mindergas.nl
> User-Agent: curl/7.52.1
> Accept: */*
> Content-Type:application/json
> AUTH-TOKEN:XXXXXX_XXXXXX-12345
> Content-Length: 38
>
* upload completely sent off: 38 out of 38 bytes
< HTTP/1.1 422 Unprocessable Entity
< Date: Wed, 05 Feb 2020 14:03:30 GMT
< Server: Apache
< X-Frame-Options: SAMEORIGIN
< X-XSS-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< Cache-Control: no-cache
< X-Request-Id: 6a8d8c10-ff92-480f-bd69-51ffee0fb357
< X-Runtime: 0.174304
< X-Powered-By: Phusion Passenger 4.0.60
< Status: 422 Unprocessable Entity
< X-Powered-By: PleskLin
< Transfer-Encoding: chunked
< Content-Type: application/json; charset=utf-8
<
* Curl_http_done: called premature == 0
* Connection #0 to host www.mindergas.nl left intact
{"error":"Meterstand is geen getal"}

  • bing69
  • Registratie: december 2000
  • Laatst online: 10:47
weet iemand toevallig in welk formaat/bestandssysteem je de Pi-Drive moet formatteren?

Bing


  • klump4u
  • Registratie: februari 2008
  • Niet online

klump4u

4980wp-Zuid-Limburg,

bing69 schreef op woensdag 5 februari 2020 @ 15:29:
weet iemand toevallig in welk formaat/bestandssysteem je de Pi-Drive moet formatteren?
Gewoon FAT, wil je er bestanden groter als 4gb opzetten dan nfts maar dan kun je niet van de pidrive booten zonder sd kaart.

[Voor 21% gewijzigd door klump4u op 05-02-2020 16:02]

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • bing69
  • Registratie: december 2000
  • Laatst online: 10:47
klump4u schreef op woensdag 5 februari 2020 @ 16:01:
[...]

Gewoon FAT, wil je er bestanden groter als 4gb opzetten dan nfts maar dan kun je niet van de pidrive booten zonder sd kaart.
Heel de middag gezocht en niet gevonden, ga zitten en zoek nog een keer op de Ipad en Bingo.
"ext4" en vi de WD berryboot vraagt hij er zelf om!

Bing


  • JanF1107
  • Registratie: februari 2020
  • Laatst online: 31-03 17:13
Hoi,

Ik wil in Domoticz met een selectieschakelaar en de commandoregel mijn rolluiken aansturen.
Op deze manier heb ik een aantal "preset"instellen voor de stand van mijn rolluiken.
Bijvoorbeeld stand 0 is 0% (omhoog), stand 1 is 25% enz.
De rolluiken worden dmv een Fibaro rolluik module aangestuurd.
Nu heb ik verschillende opties geprobeerd maar ik kom er niet uit wat ik nu op de commandoregel moet plaatsen. met de WIKI kom ik tot de onderstaande regel maar ook deze werkt niet. Wie kan mij helpen?

Gr. Jan

http://127.0.0.1/json.htm...hcmd=Set&20Level&level=50

  • Gizz
  • Registratie: maart 2001
  • Laatst online: 14:13

Gizz

Dunder-Mifflin, Inc.

JanF1107 schreef op woensdag 5 februari 2020 @ 16:53:
met de WIKI kom ik tot de onderstaande regel maar ook deze werkt niet. Wie kan mij helpen?

http://127.0.0.1/json.htm...hcmd=Set&20Level&level=50
Dat klopt niet helemaal, want de wiki geeft dit:
code:
1
/json.htm?type=command&param=switchlight&idx=IDX&switchcmd=Set%20Level&level=LEVEL


Set%20Level (%20 = spatie) en jij hebt Set&20Level toegepast :)

Canon EOS 5Dm3 + 5D + 7D + 300D + 1000FN + EF 17-40 4L + EF 35 1.4L + EF 50 1.8 + EF 80-200 2.8L + 550EX


  • JanF1107
  • Registratie: februari 2020
  • Laatst online: 31-03 17:13
Gizz schreef op woensdag 5 februari 2020 @ 17:09:
[...]

Dat klopt niet helemaal, want de wiki geeft dit:
code:
1
/json.htm?type=command&param=switchlight&idx=IDX&switchcmd=Set%20Level&level=LEVEL


Set%20Level (%20 = spatie) en jij hebt Set&20Level toegepast :)
Oops, O+ helaas werkt % ook niet.

  • Gizz
  • Registratie: maart 2001
  • Laatst online: 14:13

Gizz

Dunder-Mifflin, Inc.

@JanF1107 Ik ken die rolluikmodule verder niet, maar werkt hij wel met percentages? Of werkt hij net als mijn Somfy rolgordijnen met On (rol naar beneden), Off (gordijn weer oprollen) en stop? In dat geval heb je wellicht hier iets aan.

Canon EOS 5Dm3 + 5D + 7D + 300D + 1000FN + EF 17-40 4L + EF 35 1.4L + EF 50 1.8 + EF 80-200 2.8L + 550EX


  • JanF1107
  • Registratie: februari 2020
  • Laatst online: 31-03 17:13
Gizz schreef op woensdag 5 februari 2020 @ 17:24:
@JanF1107 Ik ken die rolluikmodule verder niet, maar werkt hij wel met percentages? Of werkt hij net als mijn Somfy rolgordijnen met On (rol naar beneden), Off (gordijn weer oprollen) en stop? In dat geval heb je wellicht hier iets aan.
Bedankt voor de reactie maar mijn module werkt met percentage en ik wil juist geen blocky gebruiken.

  • Gizz
  • Registratie: maart 2001
  • Laatst online: 14:13

Gizz

Dunder-Mifflin, Inc.

@JanF1107 Dat snap ik, maar iets verderop in dat topic wordt als antwoord gegeven hoe je het met een script doet. Daarom linkte ik daarnaar :)

Maar vertel eens wat je in je logs ziet als je dit commando geeft. Welke foutmelding krijg je? Werken andere JSONs bij andere devices wel?

Waarschijnlijk heb je er bewust voor gekozen, maar toch even als check: weet je zeker dat het ip-adres 127.0.0.1 juist is? Dat werkt alleen als je dat in de browser plakt op dezelfde computer waar Domoticz draait. De meeste van ons draaien Domoticz op een NAS of Raspberry Pi en als je dan 127.0.0.1 gebruikt in de browser op je laptop zul je inderdaad niks voor elkaar krijgen.

Canon EOS 5Dm3 + 5D + 7D + 300D + 1000FN + EF 17-40 4L + EF 35 1.4L + EF 50 1.8 + EF 80-200 2.8L + 550EX


  • BartS12
  • Registratie: september 2006
  • Laatst online: 14:43
Nou, ik vrees dat ik ook ' slachtoffer' geworden ben van de laatste update. Opeens geeft de webserver niet thuis; terwijl ik eigenlijk al 1.5 jaar probleemloos draai.

Probleem is dat ik domoticz heb draaien op een pi3, zonder dat ik er al teveel verstand van heb. Ooit een keer een handleiding gevolgd, nooit meer aankomen. Wel fijn, zolang het duurt...

Ik heb eea draaien onder Ubuntu Mate. En als ik via de commandline de status opvraag, krijg ik dit:

code:
1
2
3
4
5
6
7
8
9
10
domoticz.service - LSB: Home Automation System
   Loaded: loaded (/etc/init.d/domoticz.sh; bad; vendor preset: enabled)
   Active: active (exited) since wo 2020-02-05 23:04:17 CET; 3s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1593 ExecStop=/etc/init.d/domoticz.sh stop (code=exited, status=0/SUCCESS
  Process: 1604 ExecStart=/etc/init.d/domoticz.sh start (code=exited, status=0/SUCCESS

feb 05 23:04:17 RaspberryPi systemd[1]: Starting LSB: Home Automation System...
feb 05 23:04:17 RaspberryPi domoticz.sh[1604]: /home/bart/domoticz/domoticz: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: no such file or directory
feb 05 23:04:17 RaspberryPi systemd[1]: Started LSB: Home Automation System.


Iemand een suggestie?

[Voor 4% gewijzigd door BartS12 op 05-02-2020 23:30]

fabstar81 schreef op zaterdag 1 februari 2020 @ 09:17:
[...]

De bedoeling is het in te passen in volgend script:
Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Temperatuur - ZB koudwater in
echo "Temperatuur - ZB koudwater in"
if [ -f "/sys/bus/w1/devices/28-01143b8e6caa/w1_slave" ]
        then
        TEMP=$(cat /sys/bus/w1/devices/28-01143b8e6caa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
        if [ $TEMP -gt 0 ]
                then
                VAR=$(echo "scale=2; $TEMP/1000" | bc)
                echo $VAR > /tmp/temptemp4.txt
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=709&nvalue=0&svalue=$VAR"
                echo $VAR
        else
                TMP=$(cat /tmp/temptemp4.txt)
                curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=709&nvalue=0&svalue=$TMP"
        fi
else
        TMP=$(cat /tmp/temptemp4.txt)
    curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=709&nvalue=0&svalue=$TMP"
fi


Bij de else dat ie dus geen waarde krijgt, moet ie de pin resetten, wachten en script opnieuw draaien.

Mijn sensoren zijn volgens deze tutorial aangesloten op gpio4.

Als ik echter dit doe volgens jouw link krijg ik het volgende :
pi@pi-zb:~/Downloads $ echo "0" >/sys/class/gpio/gpio4/value
-bash: /sys/class/gpio/gpio4/value: Bestand of map bestaat niet
pi@pi-zb:~/Downloads $ cd /sys/class/gpio
pi@pi-zb:/sys/class/gpio $ ls
export  gpiochip0  unexport


Hoe kan ik nu de pin uitschakelen?
kan iemand mij hier mee helpen?

făbŞŤĄŘ - Mijn PC


  • Copitano
  • Registratie: februari 2018
  • Laatst online: 01:35

Copitano

Hoorn NH

@Wiley99 Backups draaien hier nu als een zonnetje. Valt me alleen op dat influxdb alles gewoon achter elkaar aan plakt (van de opvolgende dagen).

Alle sensoren opnieuw toegevoegd in domoticz en weer via influx naar grafana. Dashboards weer hersteld etc. Nu wil ik het kaartje uit de Pi halen om een image te maken voordat ik weer aan de slag ga met fstab.

Just to be sure: Wat is het meest veilig.
1) USB stick gewoon in de Pi laten zitten, Pi netjes stoppen, dan stekker er uit, dan kaartje eruit, image maken, kaartje er weer in, stekker er weer in, opstarten en de USB weer mounten (fstab heb ik nog niet aangepast)?
Of
2) Eerst de USB umounten (wel laten zitten) en dan ritueel 1)?

Ik ben hier heel voorzichtig mee geworden omdat het juist op dit punt vorige keer fout ging, maar dat was wel na het foutief aanpassen van fstab :+ .

Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+


  • Speedy-Andre
  • Registratie: maart 2002
  • Laatst online: 13:26

Speedy-Andre

Satio-X10-SxS-ZL-XA

BartS12 schreef op woensdag 5 februari 2020 @ 23:20:
Nou, ik vrees dat ik ook ' slachtoffer' geworden ben van de laatste update. Opeens geeft de webserver niet thuis; terwijl ik eigenlijk al 1.5 jaar probleemloos draai.

Probleem is dat ik domoticz heb draaien op een pi3, zonder dat ik er al teveel verstand van heb. Ooit een keer een handleiding gevolgd, nooit meer aankomen. Wel fijn, zolang het duurt...

Ik heb eea draaien onder Ubuntu Mate. En als ik via de commandline de status opvraag, krijg ik dit:

code:
1
2
3
4
5
6
7
8
9
10
domoticz.service - LSB: Home Automation System
   Loaded: loaded (/etc/init.d/domoticz.sh; bad; vendor preset: enabled)
   Active: active (exited) since wo 2020-02-05 23:04:17 CET; 3s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1593 ExecStop=/etc/init.d/domoticz.sh stop (code=exited, status=0/SUCCESS
  Process: 1604 ExecStart=/etc/init.d/domoticz.sh start (code=exited, status=0/SUCCESS

feb 05 23:04:17 RaspberryPi systemd[1]: Starting LSB: Home Automation System...
feb 05 23:04:17 RaspberryPi domoticz.sh[1604]: /home/bart/domoticz/domoticz: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: no such file or directory
feb 05 23:04:17 RaspberryPi systemd[1]: Started LSB: Home Automation System.


Iemand een suggestie?
Dit helpt misschien ...
Een lib ontbreekt of de verwijzing er naar is veranderd.
Net als bij mij start Domoticz niet door omdat hij iets niet kan vinden.

PVoutput oost west, zuid best! Stookt met 2x Tosh Daiseikai 8 3,5kW, SWW Atlantic Explorer 3 200l. Gasloos sinds aug 2016 Sinds 6-11-2018 5590Wp


  • MikeyMan
  • Registratie: februari 2003
  • Laatst online: 14:44

MikeyMan

Vidi, Vici, Veni

Ik probeer het aantal graaddagen te berekenen in Domoticz.
Heb de volgende guide gebruikt:
https://ehoco.nl/gasverbruik-per-graaddag-tonen-in-domoticz/

Gemiddelde temperatuur doet het prima, maar die DzVents scripting werkt niet.
Krijg nieteens een log entry op de opgegeven tijd.

Voor de volledigheid, heb dus een DzVents timer aangemaakt met de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
return {
          on   = { timer    = { 'at 07:45'}},

  execute = function(domoticz)
        local Date = domoticz.time.year..domoticz.time.month..domoticz.time.day
        local meantempOutside = domoticz.devices('Gemiddelde Buitentemp').temperature
        local baseTemp = 18
        local factor = 1
        local degreesday = baseTemp - meantempOutside
        if (domoticz.time.month >= 4 and domoticz.time.month <= 9) then factor = 0.8 end
        if (domoticz.time.month >= 11 or domoticz.time.month <= 2) then factor = 1.1 end
        degreesdays = degreesday * factor
        local GasUsage = domoticz.devices('Gas').counterToday
        local GasUsageperDegreesday = domoticz.utils.round((GasUsage / degreesdays),3)
        if (degreesday <= 0) then 
            degreesdays = 0 
            GasUsageperDegreesday = 0
        end
        domoticz.log('Gemiddelde temperatuur buiten (laatste 24u): '..meantempOutside)
        domoticz.log('Gasverbruik vandaag: '..GasUsage..' m3')
        domoticz.log('Aantal graaddagen: '..degreesdays)
        domoticz.log('Gasverbruik: '..GasUsageperDegreesday..' m3 per graaddag')
        
        domoticz.devices('Gas per graaddag').updateCustomSensor(GasUsageperDegreesday)

  end
}


tijd aangepast om te testen. Wat kan hier aan de hand zijn?

Wijzigen lijkt wel gelukt:
code:
1
2020-02-06 07:46:49.724 Status: dzVents: Write file: /home/pi/domoticz/scripts/dzVents/generated_scripts/Graaddagen.lua

[Voor 4% gewijzigd door MikeyMan op 06-02-2020 07:47]


  • MikeyMan
  • Registratie: februari 2003
  • Laatst online: 14:44

MikeyMan

Vidi, Vici, Veni

Ahem... Er blijkt een toggle te zijn voor DzVents... :X

In my defence; waarom staat Lua wel standaard aan en DzVents niet?

Schijnbaar werd hierdoor meer spul niet gedraaid trouwens, krijg uit de DzVents logging ook spul van m'n stroom terug.

  • imdos
  • Registratie: maart 2000
  • Laatst online: 14:28

imdos

I use FreeNAS and Ubuntu

fabstar81 schreef op woensdag 5 februari 2020 @ 23:21:
[...]
kan iemand mij hier mee helpen?
GPIO wijzigingen moet met sudo of als root.

Verder misschien even kijken naar dit artikel. Staan in je voorbeeld hierboven commando's die ik niet herken.

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem


  • Lizard
  • Registratie: februari 2000
  • Laatst online: 14:26
Vanochtend een mail gekregen van gBridge, ze stoppen ermee:
The gBridge service will be shut down on 15th March 2020.

Various reasons forced us to the decision to shut down the gBridge servers on 15th March 2020. We highly appreciate your support over time and hope you can find alternatives for your smart home. See the page below with more answers and the FAQ page:
More information & FAQ

  • Peutpeut
  • Registratie: december 2013
  • Laatst online: 01-04 22:49
Lizard schreef op donderdag 6 februari 2020 @ 10:52:
Vanochtend een mail gekregen van gBridge, ze stoppen ermee:
[...]
Ik heb hem ook zojuist gehad, binnenkort een aantal dagen vrij en dan maar eens op zoek naar een alternatief. Ik sta open voor suggesties :)

  • Lizard
  • Registratie: februari 2000
  • Laatst online: 14:26
Peutpeut schreef op donderdag 6 februari 2020 @ 11:09:
[...]

Ik heb hem ook zojuist gehad, binnenkort een aantal dagen vrij en dan maar eens op zoek naar een alternatief. Ik sta open voor suggesties :)
Er zijn 3 opties:

- Gebruik de self-hosted versie van gBridge (Geen duidelijke guide beschikbaar)
- Gebruik Controlicz (Externe dienst
- https://www.domoticz.com/...e_Assistant_Server_python

Ik denk zelf dat ik voor optie 3 ga...

  • Peutpeut
  • Registratie: december 2013
  • Laatst online: 01-04 22:49
Lizard schreef op donderdag 6 februari 2020 @ 11:17:
[...]

Er zijn 3 opties:

- Gebruik de self-hosted versie van gBridge (Geen duidelijke guide beschikbaar)
- Gebruik Controlicz (Externe dienst
- https://www.domoticz.com/...e_Assistant_Server_python

Ik denk zelf dat ik voor optie 3 ga...
Dank! Ik ga me er een dezer dagen in verdiepen. Ik neig er ook naar om zelf iets te hosten, de controle zelf in de hand houden voelt altijd beter :)

  • franssnarf
  • Registratie: juni 2007
  • Laatst online: 01-04 07:20
Of ik ben heel slecht in zoeken of ik kan gewoon niet het juiste scriptje maken.
Ik heb domoticz draaien met een présence script(met 2 mobieltjes) en een toon script. (Volgens de handleiding)
Ze hebben allemaal werkende switches dat is het probleem niet.
Maar ik wil nu heel simpel een commando hebben dat als beide telefoons weg zijn de toon automatisch naar weg gaat, en zodra 1 van ons terug is dat hij naar thuis springt.
Ik heb blockly geprobeerd werkte niet, heb meerdere Lia/dzvents geprobeerd werkt ook niet.
Wie heeft al zoiets eerder gemaakt.
Copitano schreef op donderdag 6 februari 2020 @ 00:08:
@Wiley99 Backups draaien hier nu als een zonnetje. Valt me alleen op dat influxdb alles gewoon achter elkaar aan plakt (van de opvolgende dagen).
Hey, mede-Horinees :+ , maak je nu ook automatisch een backup van de Grafana/Influx? Hoe heb je dat precies gedaan? Ik heb wel een dagelijkse backup van m'n Domoticz DB maar nog niet van Grafana/Influx

¯\_(ツ)_/¯


  • Peutpeut
  • Registratie: december 2013
  • Laatst online: 01-04 22:49
franssnarf schreef op donderdag 6 februari 2020 @ 11:55:
Of ik ben heel slecht in zoeken of ik kan gewoon niet het juiste scriptje maken.
Ik heb domoticz draaien met een présence script(met 2 mobieltjes) en een toon script. (Volgens de handleiding)
Ze hebben allemaal werkende switches dat is het probleem niet.
Maar ik wil nu heel simpel een commando hebben dat als beide telefoons weg zijn de toon automatisch naar weg gaat, en zodra 1 van ons terug is dat hij naar thuis springt.
Ik heb blockly geprobeerd werkte niet, heb meerdere Lia/dzvents geprobeerd werkt ook niet.
Wie heeft al zoiets eerder gemaakt.
Je kunt een script maken die bij afwezigheid van beide telefoons de Toon naar weg schakelt. Dit kan bijvoorbeeld in dZvents. Ik heb zoiets dergelijks niet eerder gemaakt maar het hoeft niet moeilijk te zijn:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
return {
    on = {
        devices = {1, 2}, -- Zet hier de IDX'en neer van jullie telefoonswitches
    },
    logging = {
        level = domoticz.LOG_INFO,
        marker = "Telefoonscript"
    },
    execute = function(domoticz, device)
        local telefoon1 = domoticz.devices(1) -- nummer invullen van telefoons net als bij On
        local telefoon2 = domoticz.devices(2) -- idem als bij telefoon1
        toon = domoticz.devices(3) -- nummer invullen van je Toon
        
        if(telefoon1.state == "Off" and telefoon2.state == "Off") then
            toon.switchSelector(0) -- aanpassen naar de juiste waarde voor Weg in de toon
            domoticz.log('Iedereen is weg, Toon wordt geschakeld naar Weg.')
        else
            domoticz.log('Er is nog iemand thuis, Toon wordt niet geschakeld naar Weg.')
    end
}

[Voor 4% gewijzigd door Peutpeut op 06-02-2020 12:50]


  • Peutpeut
  • Registratie: december 2013
  • Laatst online: 01-04 22:49
jobr schreef op woensdag 22 januari 2020 @ 19:41:
[...]


Als het een P1 device betreft:

Voor gas:
select sum("gasverbruik") from (SELECT non_negative_derivative(max("value"), 1m) as "gasverbruik" FROM "domoticz"."autogen"."Gas-usage" WHERE $timeFilter AND "name"='GasVerbruik-P1' GROUP BY time(1m) fill(previous)) where $timeFilter group by time(1d) TZ('Europe/Amsterdam')

Voor electra:
De max en min van een dag van elkaar aftrekken.
SELECT (max("value") - min("value"))/1000 FROM "Usage-1" WHERE ("name" = 'ElectraVerbruik-P1') AND $timeFilter GROUP BY time(1d) fill(null) TZ('Europe/Amsterdam')

Bij hoog en laag tarief ook voor Usage-2 doen.
Dit is inmiddels gelukt en zichtbaar in Grafana. Nu wil ik echter één meter voor het totale electraverbruik, dus ik wil de queries voor Usage 1 en Usage 2 bij elkaar optellen. Kan dit uberhaupt? Heb even gezocht maar niets kunnen vinden wat me in de juiste richting helpt.

  • etienne001
  • Registratie: september 2005
  • Laatst online: 12:14
Sinds 02.50 vanmorgen wil Domoticz mijn zigbee2mqtt data niet meer verwerken...
In de log van Zigbee2mqtt zie ik alle zigbee data van de devices nog wel binnenkomen, maar Domoticz verwerkt het niet op de een of andere manier.
In de log van Domoticz zie ik ook niets binnen komen van Zigbee2mqtt.
Ik heb de raspberry al gereboot en al eens van de spanning gehad, dit helpt helaas niets.

Enig idee?

  • bing69
  • Registratie: december 2000
  • Laatst online: 10:47
Peutpeut schreef op donderdag 6 februari 2020 @ 11:53:
[...]

Dank! Ik ga me er een dezer dagen in verdiepen. Ik neig er ook naar om zelf iets te hosten, de controle zelf in de hand houden voelt altijd beter :)
Er is nog een manier, ben een apple gebruiker en heb op een Pi Homebridge draaien. Daarop heb ik weer een plugin die naar mijn google home gaat.....

Er zijn vele wegen die naar Rome gaan

Bing

Copitano schreef op donderdag 6 februari 2020 @ 00:08:
Just to be sure: Wat is het meest veilig.
1) USB stick gewoon in de Pi laten zitten, Pi netjes stoppen, dan stekker er uit, dan kaartje eruit, image maken, kaartje er weer in, stekker er weer in, opstarten en de USB weer mounten (fstab heb ik nog niet aangepast)?
Of
2) Eerst de USB umounten (wel laten zitten) en dan ritueel 1)?

Ik ben hier heel voorzichtig mee geworden omdat het juist op dit punt vorige keer fout ging, maar dat was wel na het foutief aanpassen van fstab :+ .
Maakt in principe niet uit, als je netjes stopt
code:
1
sudo shutdown -P now
dan zou hij zelf ook netjes moeten unmounten.
Maar om zeker te zijn kun je altijd eerst
code:
1
sudo umount /mnt/USBbackup
doen.

@M.v.Veelen zoek even op "USBbackup" in dit forum en mijn hele 'thread' met Copitano, daarin staat een boel. Begint op 2 januari van dit jaar.

A polar bear is a rectangular bear after a coordinate transform


  • ronjansen87
  • Registratie: december 2009
  • Laatst online: 10:10
etienne001 schreef op donderdag 6 februari 2020 @ 13:54:
Sinds 02.50 vanmorgen wil Domoticz mijn zigbee2mqtt data niet meer verwerken...
In de log van Zigbee2mqtt zie ik alle zigbee data van de devices nog wel binnenkomen, maar Domoticz verwerkt het niet op de een of andere manier.
In de log van Domoticz zie ik ook niets binnen komen van Zigbee2mqtt.
Ik heb de raspberry al gereboot en al eens van de spanning gehad, dit helpt helaas niets.

Enig idee?
Heb je nog wel vrije diskspace? (op de pi: "df -h"). Wat ook nog wel eens wil helpen is het hardware device in domoticz disablen en weer enablen.

Nog even een ander dingetje; hebben meer mensen last van een (fors) hoger CPU verbruik bij de recentere beta's? Sinds ik eea op 28-1 een update heb gegeven is mn CPU usage van gemiddeld 3% naar rond de 14% gegaan. En dat is dan niet op een ARM cpu van een Pi, maar op een 4ghz xeon.

Vandaag wederom een update naar de laatste beta/git gedaan en debian ook gelijk naar 10/buster geupdate, maar het cpu verbruik blijft erg hoog (zowel volgens de domoticz counter als in (h)top als de vmware stats, van 25-40 naar 500mhz onder VM properties).

Ik heb verder vrij weinig veranderd qua scripting e.d., dus ik kan ook verder niet echt verklaren waarom. In de logging is ook niet veel bijzonders te zien.

[Voor 34% gewijzigd door ronjansen87 op 06-02-2020 14:27]

All-electric: 2x Daikin US, Daikin FTXM, Boiler, Weber Pulse, Tesla Model 3 LR RWD


  • etienne001
  • Registratie: september 2005
  • Laatst online: 12:14
ronjansen87 schreef op donderdag 6 februari 2020 @ 14:18:
[...]


Heb je nog wel vrije diskspace? (op de pi: "df -h"). Wat ook nog wel eens wil helpen is het hardware device in domoticz disablen en weer enablen.
Ruimte nog meer dan voldoende beschikbaar.
Zigbee2mqtt device uit en aangezet in domoticz en alles werkt weer _/-\o_

  • franssnarf
  • Registratie: juni 2007
  • Laatst online: 01-04 07:20
Peutpeut schreef op donderdag 6 februari 2020 @ 12:47:
[...]

Je kunt een script maken die bij afwezigheid van beide telefoons de Toon naar weg schakelt. Dit kan bijvoorbeeld in dZvents. Ik heb zoiets dergelijks niet eerder gemaakt maar het hoeft niet moeilijk te zijn:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
return {
    on = {
        devices = {1, 2}, -- Zet hier de IDX'en neer van jullie telefoonswitches
    },
    logging = {
        level = domoticz.LOG_INFO,
        marker = "Telefoonscript"
    },
    execute = function(domoticz, device)
        local telefoon1 = domoticz.devices(1) -- nummer invullen van telefoons net als bij On
        local telefoon2 = domoticz.devices(2) -- idem als bij telefoon1
        toon = domoticz.devices(3) -- nummer invullen van je Toon
        
        if(telefoon1.state == "Off" and telefoon2.state == "Off") then
            toon.switchSelector(0) -- aanpassen naar de juiste waarde voor Weg in de toon
            domoticz.log('Iedereen is weg, Toon wordt geschakeld naar Weg.')
        else
            domoticz.log('Er is nog iemand thuis, Toon wordt niet geschakeld naar Weg.')
    end
}
Hmm ik denk dat ik dan wel weet waar het heel de tijd misging, de meeste scripts die ik vond vroegen om de naam van de switch en jij spreekt over de idx code.
Kan ik nu voor de end code nog stukje script neerzetten die aangeeft als er 1 telefoon terug is hij toon moet schakelen naar thuis

  • ronjansen87
  • Registratie: december 2009
  • Laatst online: 10:10
franssnarf schreef op donderdag 6 februari 2020 @ 15:13:
[...]


Hmm ik denk dat ik dan wel weet waar het heel de tijd misging, de meeste scripts die ik vond vroegen om de naam van de switch en jij spreekt over de idx code.
Kan ik nu voor de end code nog stukje script neerzetten die aangeeft als er 1 telefoon terug is hij toon moet schakelen naar thuis
Als je de IDX niet vast wil zetten kan je local var = otherdevices_idx[device_name] gebruiken, of dus toch local var = 123

Dat laatste stukje voor wanneer 1 telefoon terug is, dat kan je dan onder de laatste "else" zetten, dus onder else een regel met "toon.switchSelector(1)".

All-electric: 2x Daikin US, Daikin FTXM, Boiler, Weber Pulse, Tesla Model 3 LR RWD


  • Copitano
  • Registratie: februari 2018
  • Laatst online: 01:35

Copitano

Hoorn NH

M.v.Veelen schreef op donderdag 6 februari 2020 @ 12:10:
[...]


Hey, mede-Horinees :+ , maak je nu ook automatisch een backup van de Grafana/Influx? Hoe heb je dat precies gedaan? Ik heb wel een dagelijkse backup van m'n Domoticz DB maar nog niet van Grafana/Influx
Waar wil je de backups naar toe schrijven? Ik doe dat naar een USB stick die in de Pi steekt. Kijk ff hier@Wiley99 heeft mij enorm geholpen. Heb alleen de eerste keer zelf een foutje gemaakt met /etc/fstab. Ff helemaal doorlezen tot het einde dus. Kun jij het voorkomen :+
Daar is deze heel belangrijk voor ;)

Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+

Copitano schreef op donderdag 6 februari 2020 @ 17:23:
[...]

Waar wil je de backups naar toe schrijven? Ik doe dat naar een USB stick die in de Pi steekt. Kijk ff hier@Wiley99 heeft mij enorm geholpen. Heb alleen de eerste keer zelf een foutje gemaakt met /etc/fstab. Ff helemaal doorlezen tot het einde dus. Kun jij het voorkomen :+
Daar is deze heel belangrijk voor ;)
Het liefst naar dezelfde share op m'n NAS. Dus vanaf de RPi naar de NAS. Dat loopt voortreffelijk dus was moet alleen dat script iets uitgebreid worden.

¯\_(ツ)_/¯


  • Peutpeut
  • Registratie: december 2013
  • Laatst online: 01-04 22:49
ronjansen87 schreef op donderdag 6 februari 2020 @ 15:24:
[...]
Als je de IDX niet vast wil zetten kan je local var = otherdevices_idx[device_name] gebruiken, of dus toch local var = 123

Dat laatste stukje voor wanneer 1 telefoon terug is, dat kan je dan onder de laatste "else" zetten, dus onder else een regel met "toon.switchSelector(1)".
Onderstaande kan, of je maakt een script die een dummy switch aanstuurt die op On gaat wanneer er één van de twee thuis is, zoals in de iDetect plugin.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
return {
    on = {
        devices = {1, 2}, -- Zet hier de IDX'en neer van jullie telefoonswitches
    },
    logging = {
        level = domoticz.LOG_INFO,
        marker = "Telefoonscript"
    },
    execute = function(domoticz, device)
        local telefoon1 = domoticz.devices(1) -- nummer invullen van telefoons net als bij On
        local telefoon2 = domoticz.devices(2) -- idem als bij telefoon1
        toon = domoticz.devices(3) -- nummer invullen van je Toon
        
        if(telefoon1.state == "Off" and telefoon2.state == "Off") then
            toon.switchSelector(0) -- aanpassen naar de juiste waarde voor Weg in de toon
            domoticz.log('Iedereen is weg, Toon wordt geschakeld naar Weg.')
        elseif(telefoon1.active or telefoon2.active) then
            toon.switchSelector(1)
    end
}

  • Copitano
  • Registratie: februari 2018
  • Laatst online: 01:35

Copitano

Hoorn NH

M.v.Veelen schreef op donderdag 6 februari 2020 @ 17:48:
[...]


Het liefst naar dezelfde share op m'n NAS. Dus vanaf de RPi naar de NAS. Dat loopt voortreffelijk dus was moet alleen dat script iets uitgebreid worden.
Heb (nog) geen NAS. Komt er vast nog wel eens. :P

Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+

Lizard schreef op donderdag 6 februari 2020 @ 11:17:
[...]

Er zijn 3 opties:

- Gebruik de self-hosted versie van gBridge (Geen duidelijke guide beschikbaar)
- Gebruik Controlicz (Externe dienst
- https://www.domoticz.com/...e_Assistant_Server_python

Ik denk zelf dat ik voor optie 3 ga...
Als je docker gebruikt is er wel een guide voor selfhosted, staat bij de gbridge doc.
Ik heb het self hosted zonder docker. Zie ook hier.
Peutpeut schreef op donderdag 6 februari 2020 @ 13:35:
[...]


Dit is inmiddels gelukt en zichtbaar in Grafana. Nu wil ik echter één meter voor het totale electraverbruik, dus ik wil de queries voor Usage 1 en Usage 2 bij elkaar optellen. Kan dit uberhaupt? Heb even gezocht maar niets kunnen vinden wat me in de juiste richting helpt.
Wat heb je nu voor queries voor dit?

  • Peutpeut
  • Registratie: december 2013
  • Laatst online: 01-04 22:49
jobr schreef op donderdag 6 februari 2020 @ 19:55:
[...]
Als je docker gebruikt is er wel een guide voor selfhosted, staat bij de gbridge doc.
Ik heb het self hosted zonder docker. Zie ook hier.
[...]
Wat heb je nu voor queries voor dit?
code:
1
SELECT (max("value") - min("value"))/1000 FROM "Usage-1" WHERE ("name" = 'Power') AND $timeFilter GROUP BY time(1d) fill(null)

Same same voor Usage-2.

  • Peutpeut
  • Registratie: december 2013
  • Laatst online: 01-04 22:49
Lizard schreef op vrijdag 31 januari 2020 @ 21:13:
[...]

Haal de s eens van https af, grafana luistert standaard via http.
Dus
code:
1
proxy / http://192.168.1.66:3000 {
Ik hoop nogmaals je hulp in te kunnen schakelen, via de remote proxy kan ik geen links openen die in een nieuw tabblad openen, deze sluiten direct weer nog voordat ik ze uberhaupt gezien heb. Als ik het lokale IP-adres gebruik gaat dit feilloos.

Wederom een eigen zoektocht gewaagd maar dit mocht niet baten.

Jep, niet echt Domoticz gerelateerd :)
Peutpeut schreef op donderdag 6 februari 2020 @ 19:57:
[...]


code:
1
SELECT (max("value") - min("value"))/1000 FROM "Usage-1" WHERE ("name" = 'Power') AND $timeFilter GROUP BY time(1d) fill(null)

Same same voor Usage-2.
Je kan ze natuurlijk de 2 queries in een stacked bar zetten waardoor je de optelling ziet in de grafiek.

Echt optellen kan niet door de manier zoals het in influxdb staat en de werking van influxdb.
(ze staan beide niet in dezelfde measurement)

Ik heb een paar CQ (Continuous Queries) gemaakt in influxdb die een nieuwe measurement maakt waarin usage1 en usage2 als fields in dezelfde measurement is opgenomen. Dan kun je ze wel optellen.


Deze heb ik:
code:
1
2
CREATE CONTINUOUS QUERY "cq_Usage1_for" ON "domoticz" RESAMPLE FOR 2m BEGIN SELECT difference(max("value")) AS diff_Usage1 INTO "CQEnergy2" FROM "Usage-1" WHERE "name"='ElectraVerbruik-P1' GROUP BY time(60s) fill(null) END
CREATE CONTINUOUS QUERY "cq_Usage2_for" ON "domoticz" RESAMPLE FOR 2m BEGIN SELECT difference(max("value")) AS diff_Usage2 INTO "CQEnergy2" FROM "Usage-2" WHERE "name"='ElectraVerbruik-P1' GROUP BY time(60s) fill(null) END


Ik sla het verbruik op ipv standen. Dat heb je er geen last van als de P1 meter weer op 0 begint. Wat ik onlangs heb gehad bij vervangen P1 meter.
Maar dat is eigen keuze.
Hoeveelheid kun je dan bepalen door sum te doen.

Je kunt ze dan ook met terugwerkende kracht vullen:
code:
1
2
SELECT difference(max("value")) AS diff_Usage1 INTO "CQEnergy2" FROM "Usage-1" WHERE "name"='ElectraVerbruik-P1' and time >= 1543509634424611947  and time < 1551534000000000000  GROUP BY time(60s) fill(null) 
SELECT difference(max("value")) AS diff_Usage2 INTO "CQEnergy2" FROM "Usage-2" WHERE "name"='ElectraVerbruik-P1' and time >= 1543509634424611947  and time < 1551534000000000000  GROUP BY time(60s) fill(null)

Timestamps natuurlijk aanpassen.

Kan natuurlijk ook in een andere database.

  • Peutpeut
  • Registratie: december 2013
  • Laatst online: 01-04 22:49
jobr schreef op donderdag 6 februari 2020 @ 20:33:
[...]


Je kan ze natuurlijk de 2 queries in een stacked bar zetten waardoor je de optelling ziet in de grafiek.

Echt optellen kan niet door de manier zoals het in influxdb staat en de werking van influxdb.
(ze staan beide niet in dezelfde measurement)

Ik heb een paar CQ (Continuous Queries) gemaakt in influxdb die een nieuwe measurement maakt waarin usage1 en usage2 als fields in dezelfde measurement is opgenomen. Dan kun je ze wel optellen.


Deze heb ik:
code:
1
2
CREATE CONTINUOUS QUERY "cq_Usage1_for" ON "domoticz" RESAMPLE FOR 2m BEGIN SELECT difference(max("value")) AS diff_Usage1 INTO "CQEnergy2" FROM "Usage-1" WHERE "name"='ElectraVerbruik-P1' GROUP BY time(60s) fill(null) END
CREATE CONTINUOUS QUERY "cq_Usage2_for" ON "domoticz" RESAMPLE FOR 2m BEGIN SELECT difference(max("value")) AS diff_Usage2 INTO "CQEnergy2" FROM "Usage-2" WHERE "name"='ElectraVerbruik-P1' GROUP BY time(60s) fill(null) END


Ik sla het verbruik op ipv standen. Dat heb je er geen last van als de P1 meter weer op 0 begint. Wat ik onlangs heb gehad bij vervangen P1 meter.
Maar dat is eigen keuze.
Hoeveelheid kun je dan bepalen door sum te doen.

Je kunt ze dan ook met terugwerkende kracht vullen:
code:
1
2
SELECT difference(max("value")) AS diff_Usage1 INTO "CQEnergy2" FROM "Usage-1" WHERE "name"='ElectraVerbruik-P1' and time >= 1543509634424611947  and time < 1551534000000000000  GROUP BY time(60s) fill(null) 
SELECT difference(max("value")) AS diff_Usage2 INTO "CQEnergy2" FROM "Usage-2" WHERE "name"='ElectraVerbruik-P1' and time >= 1543509634424611947  and time < 1551534000000000000  GROUP BY time(60s) fill(null)

Timestamps natuurlijk aanpassen.

Kan natuurlijk ook in een andere database.
Ik zal me eens verdiepen in de CQ. Op mijn dashboard wil ik het getal tonen met het dagelijkse verbruik van die dag. Dat is het doel. Ik kan ook om de x aantal minuten in Domoticz een script laten runnen omdat binnen Domoticz deze waarde wel opgeslagen wordt maar niet door te sturen is naar influx.
Peutpeut schreef op donderdag 6 februari 2020 @ 20:47:
[...]

Ik zal me eens verdiepen in de CQ. Op mijn dashboard wil ik het getal tonen met het dagelijkse verbruik van die dag. Dat is het doel. Ik kan ook om de x aantal minuten in Domoticz een script laten runnen omdat binnen Domoticz deze waarde wel opgeslagen wordt maar niet door te sturen is naar influx.
Je kan in domoticz ook een script op het P1 device laten triggeren en dan het totale verbruik uitrekenen en als 1 getal naar influxdb sturen.

Of deze gebruiken: https://grafana.com/grafa...or1-singlestat-math-panel

  • franssnarf
  • Registratie: juni 2007
  • Laatst online: 01-04 07:20
Peutpeut schreef op donderdag 6 februari 2020 @ 18:20:
[...]

Onderstaande kan, of je maakt een script die een dummy switch aanstuurt die op On gaat wanneer er één van de twee thuis is, zoals in de iDetect plugin.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
return {
    on = {
        -- timer riggers
        timer = {
            -- timer triggers.. if one matches with the current time then the script is executed
            'every minute at 07:01-19:59',
            function(domoticz)
                -- return true or false
            end
        },
        devices = {8, 9}, -- Zet hier de IDX'en neer van jullie telefoonswitches
    },
    logging = {
        level = domoticz.LOG_INFO,
        marker = "Telefoonscript"
    },
    execute = function(domoticz, device)
        local telefoon1 = domoticz.devices(8) -- nummer invullen van telefoons net als bij On
        local telefoon2 = domoticz.devices(9) -- idem als bij telefoon1
        toon = domoticz.devices(14) -- nummer invullen van je Toon
        
        if(telefoon1.state == "Off" and telefoon2.state == "Off") then
            toon.switchSelector(10) -- aanpassen naar de juiste waarde voor Weg in de toon
            domoticz.log('Iedereen is weg, Toon wordt geschakeld naar Weg.')
        else
        if(telefoon1.state == "On" or telefoon2.state == "On") then
            toon.switchSelector(30) -- aanpassen naar de juiste waarde voor Thuis in de toon
            domoticz.log('Iemand is thuis, Toon wordt geschakeld naar Thuis.')    
        else    
        domoticz.log('Er is nog iemand thuis, Toon wordt niet geschakeld naar Weg.')
        end
    end
end    
}


Heb nu bovenstaande code in gebruik en dit lijkt goed te werken, morgen weet ik het zeker.
Nu alleen nog ff regel verzinnen dat als iemand handmatig de temperatuur schakelt hij niks mag aanpassen.

  • Peutpeut
  • Registratie: december 2013
  • Laatst online: 01-04 22:49
franssnarf schreef op donderdag 6 februari 2020 @ 21:30:
[...]

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
return {
    on = {
        -- timer riggers
        timer = {
            -- timer triggers.. if one matches with the current time then the script is executed
            'every minute at 07:01-19:59',
            function(domoticz)
                -- return true or false
            end
        },
        devices = {8, 9}, -- Zet hier de IDX'en neer van jullie telefoonswitches
    },
    logging = {
        level = domoticz.LOG_INFO,
        marker = "Telefoonscript"
    },
    execute = function(domoticz, device)
        local telefoon1 = domoticz.devices(8) -- nummer invullen van telefoons net als bij On
        local telefoon2 = domoticz.devices(9) -- idem als bij telefoon1
        toon = domoticz.devices(14) -- nummer invullen van je Toon
        
        if(telefoon1.state == "Off" and telefoon2.state == "Off") then
            toon.switchSelector(10) -- aanpassen naar de juiste waarde voor Weg in de toon
            domoticz.log('Iedereen is weg, Toon wordt geschakeld naar Weg.')
        else
        if(telefoon1.state == "On" or telefoon2.state == "On") then
            toon.switchSelector(30) -- aanpassen naar de juiste waarde voor Thuis in de toon
            domoticz.log('Iemand is thuis, Toon wordt geschakeld naar Thuis.')    
        else    
        domoticz.log('Er is nog iemand thuis, Toon wordt niet geschakeld naar Weg.')
        end
    end
end    
}


Heb nu bovenstaande code in gebruik en dit lijkt goed te werken, morgen weet ik het zeker.
Nu alleen nog ff regel verzinnen dat als iemand handmatig de temperatuur schakelt hij niks mag aanpassen.
Goed werk. Wel vraag ik me af waarom je ook een timer voorwaarde hebt opgenomen in je script, nu wordt het iedere minuut uitgevoerd tussen de genoemde tijden. Dat is niet perse nodig.

  • franssnarf
  • Registratie: juni 2007
  • Laatst online: 01-04 07:20
Peutpeut schreef op donderdag 6 februari 2020 @ 22:03:
[...]

Goed werk. Wel vraag ik me af waarom je ook een timer voorwaarde hebt opgenomen in je script, nu wordt het iedere minuut uitgevoerd tussen de genoemde tijden. Dat is niet perse nodig.
Die staat erin meer vanwege de tijd waartussen het script mag draaien, en omdat ik niet zeker wist of hij de schakelaar goed registreert als ie veranderd.

  • Peutpeut
  • Registratie: december 2013
  • Laatst online: 01-04 22:49
franssnarf schreef op donderdag 6 februari 2020 @ 22:12:
[...]

Die staat erin meer vanwege de tijd waartussen het script mag draaien, en omdat ik niet zeker wist of hij de schakelaar goed registreert als ie veranderd.
Dat is wel de bedoeling natuurlijk. Op deze manier kan het ook maar houd er rekening mee dat het nu dubbel wordt getriggerd. Zowel iedere minuut tussen de genoemde tijden én wanneer één van de devices een update krijgt.

  • Lizard
  • Registratie: februari 2000
  • Laatst online: 14:26
Peutpeut schreef op donderdag 6 februari 2020 @ 20:13:
[...]

Ik hoop nogmaals je hulp in te kunnen schakelen, via de remote proxy kan ik geen links openen die in een nieuw tabblad openen, deze sluiten direct weer nog voordat ik ze uberhaupt gezien heb. Als ik het lokale IP-adres gebruik gaat dit feilloos.

Wederom een eigen zoektocht gewaagd maar dit mocht niet baten.

Jep, niet echt Domoticz gerelateerd :)
Zo snel heb ik geen idee waar dit door komt, zelf gebruik ik nog apache...
Zou het kunnen zijn dat je popup blocker van je browser misschien voor problemen zorgt?

  • Animal
  • Registratie: maart 2002
  • Laatst online: 12:31

Animal

muzikant/IT support

Peutpeut schreef op donderdag 6 februari 2020 @ 22:57:
[...]

Dat is wel de bedoeling natuurlijk. Op deze manier kan het ook maar houd er rekening mee dat het nu dubbel wordt getriggerd. Zowel iedere minuut tussen de genoemde tijden én wanneer één van de devices een update krijgt.
Mocht het toon script klaar zijn dan wil ik hem graag integreren/testen!

www.davemenkehorst.com | www.elite-itservice.nl


Acties:
  • +1Henk 'm!
  • Pinned

  • imdos
  • Registratie: maart 2000
  • Laatst online: 14:28

imdos

I use FreeNAS and Ubuntu

franssnarf schreef op donderdag 6 februari 2020 @ 22:12:
[...]

Die staat erin meer vanwege de tijd waartussen het script mag draaien, en omdat ik niet zeker wist of hij de schakelaar goed registreert als ie veranderd.
Wat @Peutpeut zegt.

Probeer het op deze manier:
code:
1
['sensor - Achterdeur'] = { 'at nighttime' }
Maar dan met je eigen code. Dit schakelt een device, maar dan alleen binnen een bepaalde tijdspanne.

@Toppe Kun je deze hieronder linken naar de startpost?
Dit is de wiki.
Hier nog veel meer inspiratie. Hier voorbeelden.

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem


  • Robbie T
  • Registratie: februari 2006
  • Laatst online: 10:08
franssnarf schreef op donderdag 6 februari 2020 @ 11:55:
Of ik ben heel slecht in zoeken of ik kan gewoon niet het juiste scriptje maken.
Ik heb domoticz draaien met een présence script(met 2 mobieltjes) en een toon script. (Volgens de handleiding)
Ze hebben allemaal werkende switches dat is het probleem niet.
Maar ik wil nu heel simpel een commando hebben dat als beide telefoons weg zijn de toon automatisch naar weg gaat, en zodra 1 van ons terug is dat hij naar thuis springt.
Ik heb blockly geprobeerd werkte niet, heb meerdere Lia/dzvents geprobeerd werkt ook niet.
Wie heeft al zoiets eerder gemaakt.
Wellicht mosterd na de maaltijd inmiddels maardit is mijn script;

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
--*------------------------------------------------------------------------------------*--
--Creator: Rob
--Date: 08-10-2019
--Last update: 05-11-2019
--Changelog: 16-10-2019: Added devices to trigger. Changed function segment. isTimer no longer used | 05-11-2019: Trying to solve the .afterMin not working
--Source: -
--Description: Turn on/off heating depending if someone is home or not
--*------------------------------------------------------------------------------------*--

return {
    on = {
        devices = { 
            [78] =  { 'between 07:00 and 19:30' }, --Trigger is iemand thuis tussen tijd
            116,
        }
    },
     
--Voeg logging toe voor dit script  
   logging = {
   level = domoticz.LOG_DEBUG,
   marker = "Thermostaat automatisch"
   },

    execute = function( domoticz, item )
        --Declarations
        local Thuis = domoticz.devices(78) --Is er iemand thuis
        local Toon  = domoticz.devices(116) -- Toon Programma's
        
        domoticz.log('State of ' .. Thuis.name .. ' is ' .. Thuis.state,domoticz.LOG_DEBUG)
        domoticz.log('State of ' .. Toon.name .. ' is ' .. Toon.state,domoticz.LOG_DEBUG)
        domoticz.log('Script is triggered by ' .. item.name,domoticz.LOG_DEBUG)
        
    
       if item == Toon then 
            domoticz.log(Toon.name .. ' was updated ! Was it this script ?' ,domoticz.LOG_DEBUG)
            return
        end
        
        --Function
        if Thuis.active then
            Toon.cancelQueuedCommands()
            Toon.switchSelector(30)
            domoticz.log('Toon is automatisch ingesteld op programma Thuis via dzVents')
            --domoticz.notify('Thermostaat automatisch', 'Er is iemand thuis. De thermostaat is automatisch op het programma Thuis ingesteld.', 'domoticz.PRIORITY_LOW')
        else
            Toon.switchSelector(10).afterMin(30)
            domoticz.log('Toon is automatisch ingesteld op programma Weg via dzVents')
            --domoticz.notify('Thermostaat automatisch', 'Er is niemand thuis. De thermostaat is automatisch op het programma Weg ingesteld.', 'domoticz.PRIORITY_LOW')
        end
end
}
imdos schreef op donderdag 6 februari 2020 @ 09:15:
[...]

GPIO wijzigingen moet met sudo of als root.

Verder misschien even kijken naar dit artikel. Staan in je voorbeeld hierboven commando's die ik niet herken.
sorry, ik ben hier te dom voor...
ik kan daar echt geen wijs uit.

8)7

făbŞŤĄŘ - Mijn PC


  • imdos
  • Registratie: maart 2000
  • Laatst online: 14:28

imdos

I use FreeNAS and Ubuntu

fabstar81 schreef op vrijdag 7 februari 2020 @ 11:18:
[...]

sorry, ik ben hier te dom voor...
ik kan daar echt geen wijs uit.

8)7
Je wil je GPIO dus resetten. Alle commando's t.a.v. GPIO moeten niet als user pi, maar als root. Doe je dat ook? Dus met sudo er voor.

Verder kun je dit proberen te lezen. Gaat hier om het aantal sensoren op je Pi en de hoeveelheid stroom die ze leveren. Daarin staat ook een python oplossing. Ik heb hier even de equivalente commando's in bash neergezet.

echo "4" >/sys/class/gpio/unexport # vrijgeven van GPIO
echo "4" >/sys/class/gpio/export
echo "out" >/sys/class/gpio/gpio4/direction
sleep 1
echo "0" >/sys/class/gpio/gpio4/value
sleep 1
echo "4" >/sys/class/gpio/unexport

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem

imdos schreef op vrijdag 7 februari 2020 @ 09:08:
[...]

Wat @Peutpeut zegt.

Probeer het op deze manier:
code:
1
['sensor - Achterdeur'] = { 'at nighttime' }
Maar dan met je eigen code. Dit schakelt een device, maar dan alleen binnen een bepaalde tijdspanne.

@Toppe Kun je deze hieronder linken naar de startpost?
Dit is de wiki.
Hier nog veel meer inspiratie. Hier voorbeelden.
Staat er in.

Misschien dat @ThinkPad of @teacher een melding boven de quick reply willen zetten hiervoor? Evenals het gebruik van code tags?



Niemand een oplossing voor mijn ‘elke 4 weken’ issue in dzVents? Geen enkel afval script wilt goed werken met domoticz en Almere. Enig probleem is de papierbak, die is nu elke 4 weken ipv 2 weken....

[Voor 11% gewijzigd door Toppe op 07-02-2020 13:35]

MacBook Pro Retina 13" 2018  iPhone Xs Max  Apple Watch Series 4  2x Apple TV 4  Stereopair HomePods


  • imdos
  • Registratie: maart 2000
  • Laatst online: 14:28

imdos

I use FreeNAS and Ubuntu

Toppe schreef op vrijdag 7 februari 2020 @ 13:31:
[...]


Niemand een oplossing voor mijn ‘elke 4 weken’ issue in dzVents? Geen enkel afval script wilt goed werken met domoticz en Almere. Enig probleem is de papierbak, die is nu elke 4 weken ipv 2 weken....
Hier staan alle tijd triggers.

Misschien gewoon de weeknummers pakken? Dus zo:
'in week 12,44'              -- (2.4.0) in week 12 or 44

of werken met een counter
         'every odd week',
         'every even week',           -- (2.4.0) odd or even numbered weeks
+
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    return {
        on = {
         devices = { 'MySwitch' }
       },
        data = {
           counter = { initial = 0 }
       },
        execute = function(domoticz, switch)
          if (domoticz.data.counter == 5) then
             domoticz.notify('The switch was pressed 5 times!')
             domoticz.data.counter = 0 -- reset the counter
          else
             domoticz.data.counter = domoticz.data.counter + 1
          end
        end
    }

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem

imdos schreef op vrijdag 7 februari 2020 @ 14:03:
[...]

Hier staan alle tijd triggers.

Misschien gewoon de weeknummers pakken? Dus zo:
'in week 12,44'              -- (2.4.0) in week 12 or 44

of werken met een counter
         'every odd week',
         'every even week',           -- (2.4.0) odd or even numbered weeks
+
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    return {
        on = {
         devices = { 'MySwitch' }
       },
        data = {
           counter = { initial = 0 }
       },
        execute = function(domoticz, switch)
          if (domoticz.data.counter == 5) then
             domoticz.notify('The switch was pressed 5 times!')
             domoticz.data.counter = 0 -- reset the counter
          else
             domoticz.data.counter = domoticz.data.counter + 1
          end
        end
    }
Alle week nummers is inderdaad dan de makkelijkste oplossing. Had gehoopt dat er iets was als ‘every 4 weeks’ maar niet dus :(

MacBook Pro Retina 13" 2018  iPhone Xs Max  Apple Watch Series 4  2x Apple TV 4  Stereopair HomePods


  • imdos
  • Registratie: maart 2000
  • Laatst online: 14:28

imdos

I use FreeNAS and Ubuntu

Toppe schreef op vrijdag 7 februari 2020 @ 14:12:
[...]
Alle week nummers is inderdaad dan de makkelijkste oplossing. Had gehoopt dat er iets was als ‘every 4 weeks’ maar niet dus :(
nope; helaas. Je zou een verzoek kunnen doen op het forum. Anders moet je wel elk jaar de weeknummers goed plotten :X

Anders kan je iets met ical parsing doen. Wel een heel andere oplossing; maar het werkt.

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem

imdos schreef op vrijdag 7 februari 2020 @ 12:45:
[...]

Je wil je GPIO dus resetten. Alle commando's t.a.v. GPIO moeten niet als user pi, maar als root. Doe je dat ook? Dus met sudo er voor.

Verder kun je dit proberen te lezen. Gaat hier om het aantal sensoren op je Pi en de hoeveelheid stroom die ze leveren. Daarin staat ook een python oplossing. Ik heb hier even de equivalente commando's in bash neergezet.

echo "4" >/sys/class/gpio/unexport # vrijgeven van GPIO
echo "4" >/sys/class/gpio/export
echo "out" >/sys/class/gpio/gpio4/direction
sleep 1
echo "0" >/sys/class/gpio/gpio4/value
sleep 1
echo "4" >/sys/class/gpio/unexport
kijk, dat is mooi. dan wordt het script dus als volgt:
Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Temperatuur - ZB koudwater in
echo "Temperatuur - ZB koudwater in"
if [ -f "/sys/bus/w1/devices/28-01143b8e6caa/w1_slave" ]
        then
        TEMP=$(cat /sys/bus/w1/devices/28-01143b8e6caa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
        if [ $TEMP -gt 0 ]
                then
                VAR=$(echo "scale=2; $TEMP/1000" | bc)
                echo $VAR > /tmp/temptemp4.txt
                curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=709&nvalue=0&svalue=$VAR"
                echo $VAR
        else
                TMP=$(cat /tmp/temptemp4.txt)
                curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=709&nvalue=0&svalue=$TMP"

                echo "4" >/sys/class/gpio/unexport # vrijgeven van GPIO
                echo "4" >/sys/class/gpio/export
                echo "out" >/sys/class/gpio/gpio4/direction
                sleep 1
                echo "0" >/sys/class/gpio/gpio4/value
                sleep 1
                echo "4" >/sys/class/gpio/unexport
        fi
else
        TMP=$(cat /tmp/temptemp4.txt)
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=709&nvalue=0&svalue=$TMP"
        
        echo "4" >/sys/class/gpio/unexport # vrijgeven van GPIO
        echo "4" >/sys/class/gpio/export
        echo "out" >/sys/class/gpio/gpio4/direction
        sleep 1
        echo "0" >/sys/class/gpio/gpio4/value
        sleep 1
        echo "4" >/sys/class/gpio/unexport
fi


of misschien makkelijker om die commando's in ander script te plaatsen en aan te roepen in de else?

[Voor 8% gewijzigd door fabstar81 op 07-02-2020 16:28]

făbŞŤĄŘ - Mijn PC


  • Jimster
  • Registratie: januari 2000
  • Laatst online: 13:37

Jimster

A State of Trance

Sinds deze week ben ik ook verslaafd geraakt aan dit virus. Ik heb een probleem waar ik niet uit kom.
Als ik met mijn zonnepanelen meer teruglever dan ik verbruik, zie ik in Domoticz een negatieve waarde
Domoticz energy
Maar in Dashticz zie ik een positieve waarde.
Dashticz energie
Hoe zorg ik er voor dat in Dashticz ook de waarde negatief wordt bij teruglevering?

En hoe krijg ik de knoppen (Vandaag/Laatste 2 weken/Laatste 6 maanden) in een grafiek kleiner?

  • franssnarf
  • Registratie: juni 2007
  • Laatst online: 01-04 07:20
Robbie T schreef op vrijdag 7 februari 2020 @ 09:48:
[...]


Wellicht mosterd na de maaltijd inmiddels maardit is mijn script;

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
        --Function
        if Thuis.active then
            Toon.cancelQueuedCommands()
            Toon.switchSelector(30)
            domoticz.log('Toon is automatisch ingesteld op programma Thuis via dzVents')
            --domoticz.notify('Thermostaat automatisch', 'Er is iemand thuis. De thermostaat is automatisch op het programma Thuis ingesteld.', 'domoticz.PRIORITY_LOW')
        else
            Toon.switchSelector(10).afterMin(30)
            domoticz.log('Toon is automatisch ingesteld op programma Weg via dzVents')
            --domoticz.notify('Thermostaat automatisch', 'Er is niemand thuis. De thermostaat is automatisch op het programma Weg ingesteld.', 'domoticz.PRIORITY_LOW')
        end
end
}
Als ik dit stukje van function erin zet dan mag hij dus niet schakelen als ik thuis ben en hem handmatig bedien begrijp ik.

Edit zie dat het niet uitmaakt hij schakelt niet terug als ik hem op een andere stand zet. Dat ismooi

[Voor 4% gewijzigd door franssnarf op 07-02-2020 18:59]


  • Spikkerm
  • Registratie: oktober 2018
  • Laatst online: 14:44
Ik heb in dzevents 2 scripjes draaien om te zien wanneer ik mijn afval container aan de weg moet zetten. En krijg dan via telegram een melding als dat zo ver is.
Dit werkt op zich goed, echter krijg ik ook een melding als de ‘alert level green’ is.

Kan iemand mij vertellen wat ik hier fout doe?

Afval kalender
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
return {
on = { timer = { "at 18:00","at 06:00" }, -- daily run twice
-- { timer = {'every 1 minutes'},
httpResponses = { "getGarbage_Response" } -- Trigger the handle Json part
},

logging = { level = domoticz.LOG_INFO, -- Remove the "-- at the beginning of this and next line for debugging the script
marker = "collectGarbage" },

data = { garbage = {initial = {} }, -- Keep a copy of last json just in case
},

execute = function(dz, triggerObject)

--++++--------------------- Mandatory: Set your values and device names below this Line --------------------------------------
local myTextDevice = "Afvalkalender" -- Name with quotes or idx without when created as virtual text device
local myAlertDevice = "Afval" -- Name with quotes or idx without when created as virtual alert device
local myBagId = "************"
local myYear = os.date("%Y")

-- it can happen that other examples then HVC uses other numbers, change them at line
garbageTypes = {4,55,11}

--++++---------------------------- Set your values and device names above this Line --------------------------------------------

local function collectGarbageDates(secondsFromNow)
local getGarbage_url = "https://afvalkalender.circulus-berkel.nl/rest/adressen/" ..myBagId .. "/kalender/" .. myYear
dz.openURL ({ url = getGarbage_url ,
method = "GET",
callback = "getGarbage_Response" }).afterSec(secondsFromNow)
end

-- Add entry to log and notify to all subsystems
local function errorMessage(message)
dz.log(message,dz.LOG_ERROR)
dz.notify(message)
end

local function string2Epoch(dateString) -- seconds from epoch based on stringdate (used by string2Date)
-- Assuming a date pattern like: yyyy-mm-dd
local pattern = "(%d+)-(%d+)-(%d+)"
local runyear, runmonth, runday= dateString:match(pattern)
local convertedTimestamp = os.time({year = runyear, month = runmonth, day = runday})
return convertedTimestamp
end

local function string2Date(str,fmt) -- convert string from json into datevalue
if fmt then return os.date(fmt,string2Epoch(str)) end
return os.date(" %A %d %B, %Y",string2Epoch(str))
end

local function alertLevel(delta)
if delta < 2 then return dz.ALERTLEVEL_RED end
return dz.ALERTLEVEL_GREEN
end

local function setGarbageAlertDevice(alertDevice,alertText,alertDate)
local delta = tonumber(string2Date(alertDate,"%d")) - tonumber(os.date("%d")) -- delta in days between today and first garbage collection date
dz.devices(alertDevice).updateAlertSensor(alertLevel(delta),alertText)
return (delta == 0)
end

local function longGarbageName(str) -- Use descriptive strings
str = tostring(str)
str = str:gsub("11"," PMD ")
str = str:gsub("55"," GFT ")
str = str:gsub("4"," Papier ")
return str
end

local function handleResponse()
if #triggerObject.json > 0 then
dz.data.garbage = triggerObject.json
rt = triggerObject.json
else
errorMessage("Problem with response from hvcgroep (no data) using data from earlier run")
rt = dz.data.garbage -- json empty. Get last valid from dz.data
if #rt < 1 then -- No valid data in dz.data either
errorMessage("No previous data. are zipcode and housenumber ok and in HVC group area ?")
return false
end
end
local garbageLines = ""
local typeEarliestDate
local overallEarliestDate = "2999-12-31" -- Hopefully we will have a different garbage collection system by then
local garbageToday = false
local today = os.date("%Y-%m-%d")

for i = 1,#garbageTypes do --walk the the type Table
typeEarliestDate = "2999-12-31"
for j = 1,#rt do -- walk the result Table
-- walk the response table
if rt[j].ophaaldatum >= today and rt[j].ophaaldatum < typeEarliestDate and
rt[j].afvalstroom_id == garbageTypes[i] then -- Keep date closest to today per type
typeEarliestDate = rt[j].ophaaldatum
if typeEarliestDate < overallEarliestDate then -- date closest to today overall ?
overallEarliestDate = typeEarliestDate -- keep date
overallEarliestType = garbageTypes[i] -- keep type
end
garbageLines = garbageLines .. string2Date(typeEarliestDate,"%a %e %b" ) .. longGarbageName(rt[j].afvalstroom_id) .. " " .. "\n"
typeEarliestDate = rt[j].ophaaldatum -- Keep date closest to today

end
end
end

if myAlertDevice then -- Update AlertDevice with nearby date / type
garbageToday = setGarbageAlertDevice( myAlertDevice,
longGarbageName(overallEarliestType) .. "\n" ..
string2Date(overallEarliestDate),
overallEarliestDate)
end

if myTextDevice then -- Update defined virtual text device with dates / types
dz.devices(myTextDevice).updateText(garbageLines)
end

if dz.time.matchesRule("at 08:00-17:00") and garbageToday then
dz.notify(longGarbageName(overallEarliestType) .. "will be collected today")
end
end

-- Main
if triggerObject.isHTTPResponse then
if triggerObject.ok then
handleResponse()
else
errorMessage("Problem with response from hvcgroep (not ok)")
collectGarbageDates(600) -- response not OK, try again after 10 minutes
end
else
collectGarbageDates(1)
end
end
}


Afval melding
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
return 
{
    on = 
    {
        devices = { 'Afval'}, -- Name of your alert device
    },    
    
    execute = function(dz, item)
        local priority = dz.PRIORITY_MODERATE
        
        if item.color == dz.ALERTLEVEL_RED then 
            priority = dz.PRIORITY_HIGH
        end
        
       --[[     
            dz.notify ( 
                        subject, 
                        message, 
                        priority, 
                        sound, 
                        extra, 
                        subsystem
                    )
       ]]--

        dz.notify   (   'My alert',
                        ' Container aan de weg ' .. item.text,
                       priority,
                       nil,
                       nil,
                       { dz.NSS_HTTP }
                    )
    end 
}

  • Lux_Gamer
  • Registratie: april 2014
  • Laatst online: 09:15
Vraagje vandaag ook begonnen in Domoticz.

Ik heb een sonoff mini via mqtt toegevoegd aan domoticz en kan deze handmatige in domoticz aan en uit zetten. Nu ben ik begonnen met events/blockly, hier kom ik tegen een probleem aan.
Als ik de sonoff mini in de normale set block zet gaat deze niet aan wanneer de if statement wordt geactiveerd. De sonoff mini gaat wel aan als deze in dezelfde if zet maar dan in de set .. on for .. minutes.

hoort dit doe ik iets fout of is dit een bug?

  • Peutpeut
  • Registratie: december 2013
  • Laatst online: 01-04 22:49
Lux_Gamer schreef op vrijdag 7 februari 2020 @ 21:01:
Vraagje vandaag ook begonnen in Domoticz.

Ik heb een sonoff mini via mqtt toegevoegd aan domoticz en kan deze handmatige in domoticz aan en uit zetten. Nu ben ik begonnen met events/blockly, hier kom ik tegen een probleem aan.
Als ik de sonoff mini in de normale set block zet gaat deze niet aan wanneer de if statement wordt geactiveerd. De sonoff mini gaat wel aan als deze in dezelfde if zet maar dan in de set .. on for .. minutes.

hoort dit doe ik iets fout of is dit een bug?
Als het lukt is het misschien makkelijker als je een screenshot van je blockly plaatst. Of, als je toch net begonnen bent, blockly overslaan en meteen met dZvents aan de slag. Vroeg of laat loop je tegen de beperkingen aan van blockly.

[Voor 56% gewijzigd door Peutpeut op 08-02-2020 07:53]


  • imdos
  • Registratie: maart 2000
  • Laatst online: 14:28

imdos

I use FreeNAS and Ubuntu

Spikkerm schreef op vrijdag 7 februari 2020 @ 19:07:
Ik heb in dzevents 2 scripjes draaien om te zien wanneer ik mijn afval container aan de weg moet zetten. En krijg dan via telegram een melding als dat zo ver is.
Dit werkt op zich goed, echter krijg ik ook een melding als de ‘alert level green’ is.

Kan iemand mij vertellen wat ik hier fout doe?

Afval kalender
code:
1
2
3
4
5
       local priority = dz.PRIORITY_MODERATE
        
        if item.color == dz.ALERTLEVEL_RED then 
            priority = dz.PRIORITY_HIGH
        end
Zo te zien vanwege die regels. Maar het is lastig te zien op GSM.

Probeer dit script eens.

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem

ik heb nog een vraagje over json en hoe de status van een switch op te vragen. ik wil een klein stukje bash script:

if switch is On --> turn off

het tweede gedeelte is makkelijk:
Bash:
1
2
if switch is On then
curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=switchlight&idx=795&switchcmd=Off"


het eerste gedeelte kom ik niet achter.

met
Bash:
1
curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=devices&rid=795

kan je wel alle info eruit halen, maar hoe destilleer ik de status eruit?

făbŞŤĄŘ - Mijn PC


  • tsjoender
  • Registratie: april 2005
  • Laatst online: 13:25
fabstar81 schreef op zaterdag 8 februari 2020 @ 08:59:
ik heb nog een vraagje over json en hoe de status van een switch op te vragen. ik wil een klein stukje bash script:

if switch is On --> turn off

het tweede gedeelte is makkelijk:
Bash:
1
2
if switch is On then
curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=switchlight&idx=795&switchcmd=Off"


het eerste gedeelte kom ik niet achter.

met
Bash:
1
curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=devices&rid=795

kan je wel alle info eruit halen, maar hoe destilleer ik de status eruit?
Je kunt de output door grep, awk en of sed halen en zo alles wat je niet nodig hebt wegfilteren. Deze tooltjes zitten in iedere Linux distro. Genoeg voorbeelden online voor de syntax. Verder zou je jq kunnen gebruiken als parser, maar die is niet altijd als package beschikbaar, maar volgens mij wel met apt te installeren onder Raspbian.

[Voor 8% gewijzigd door tsjoender op 08-02-2020 09:23]


  • Spikkerm
  • Registratie: oktober 2018
  • Laatst online: 14:44
imdos schreef op zaterdag 8 februari 2020 @ 08:29:
[...]

Zo te zien vanwege die regels. Maar het is lastig te zien op GSM.

Probeer dit script eens.
Dank je wel voor je reactie.
Ik heb onderstaand script gebruikt volgens bovenstaande topic, nu even afwachten hoe het gaat met de meldingen. :)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
--[[ getGarbageDates.lua for [ dzVents >= 2.4 ]

this script is only useful in those  areas of the Netherlands where circulus-berkel is the garbage collector

Enter your zipcode and housenumber and your virtual text and or virtual alert device in the 
appropriate place between the lines starting with --++++

the text device will contain the most nearby collectdates for the four types of household garbage
the alert device will contain the date and type for the garbagecollection that will arrive first
]]-- 

local prefix        = "getGarbageDates"
local httpresponse  = prefix .. "Response"
local triggerDevice = prefix .. "Trigger"
local logMarker     = prefix .. "Marker"

return 
        {
     on      =  {   devices        =   { triggerDevice },            -- Just for development and test ; ignored when live
                    timer          =   { "at 00:05","at 08:00" },    -- daily run twice
                    httpResponses  =  { httpresponse }               -- Trigger the handle Json part
                },

 --   logging =   {   level       =   domoticz.LOG_DEBUG,              -- Remove the "-- at the beginning of this and next line for debugging the script
 --                   marker        =   logMarker      },

    data    =   {   garbage     = { initial = {} },                  -- Keep a copy of last json just in case
                    bagID       = { initial = "Not set yet" },           
                    ZipCode     = { initial = "not set yet" },
                    HouseNumber = { initial = "not set yet" },
                },

    execute = function(dz, triggerObject)

        --++++--------------------- Mandatory: Set your values and device names below this Line --------------------------------------
        local myZipCode     = "7328CK"
        local myHouseNumber = 46
        local myTextDevice  = "GarbageText"       -- Name with quotes or idx without when created as virtual text device
        local myAlertDevice = "GarbageAlert"      -- Name with quotes or idx without when created as virtual alert device
        --++++---------------------------- Set your values and device names above this Line --------------------------------------------
        
        local myProvider    = "https://afvalkalender.circulus-berkel.nl" 
        local myYear        = os.date("%Y")

        garbageTypes  = {1,4,11,12,55}                -- Valid for circulus-berkelfor but these numbers vary per garbageCollector; Why ??
         -- ("55","  Groente-, fruit- en tuin afval            ")
         -- ("4", "  Papier en kartonnen verpakkingen          ")
         -- ("11","  Plastic, blik drankpakken                 ")
         -- ("12","  Boeken, speelgoed en textiel              ") 
         -- ("1", "  Restafval                                 ") 

        -- get BagId based on Zipcode / Housenumber 
        local function collectBagId(secondsFromNow)
            local getBagId_url  = myProvider .. "/rest/adressen/" .. myZipCode .."-" .. myHouseNumber
            dz.openURL  ({  url         = getBagId_url ,
                            method      = "GET",
                            callback    = httpresponse}).afterSec(secondsFromNow)
        end
        
        -- get garbage collect Year calendar 
        local function collectGarbageDates(secondsFromNow)
            local getGarbage_url  = myProvider .. "/rest/adressen/" .. dz.data.bagID .. "/kalender/" .. myYear
            dz.openURL  ({  url         = getGarbage_url ,
                            method      = "GET",
                            callback    = httpresponse}).afterSec(secondsFromNow)
        end

        -- Add entry to log and notify to all subsystems
        local function errorMessage(message)
            dz.log(message,dz.LOG_ERROR)
            dz.notify(message)
        end

        local function string2Epoch(dateString) -- seconds from epoch based on stringdate (used by string2Date)
            -- Assuming a date pattern like: yyyy-mm-dd
            local pattern = "(%d+)-(%d+)-(%d+)"
            local runyear, runmonth, runday= dateString:match(pattern)
            local convertedTimestamp = os.time({year = runyear, month = runmonth, day = runday})
            return convertedTimestamp
        end

        local function string2Date(str,fmt)             -- convert string from json into datevalue
            if fmt then return os.date(fmt,string2Epoch(str)) end
            return os.date(" %A %d %B, %Y",string2Epoch(str))
        end

        local function alertLevel(delta)
            if delta < 2 then return dz.ALERTLEVEL_RED end
            if delta < 3 then return dz.ALERTLEVEL_YELLOW end
            if delta < 4 then return dz.ALERTLEVEL_ORANGE end
            return dz.ALERTLEVEL_GREEN
        end

        local function setGarbageAlertDevice(alertDevice,alertText,alertDate)
            local delta = tonumber(string2Date(alertDate,"%d")) - tonumber(os.date("%d"))  -- delta in days between today and first garbage collection date
            dz.devices(alertDevice).updateAlertSensor(alertLevel(delta),alertText)
            return (delta == 0)
        end

        local function longGarbageName(str)                                        -- Use descriptive strings
            str = tostring(str)
            dz.log(str,dz.LOG_DEBUG)
            str = str:gsub("12","  Boeken, Elektrische apparaten, Speelgoed en Textiel")
            str = str:gsub("55","  Groente-, fruit- en tuin afval     ")
            str = str:gsub("4", "  Papier en kartonnen verpakkingen    ")
            str = str:gsub("11","  Plastic, blik drankpakken          ")
            str = str:gsub("1", "  Rest afval                          ")
            
            dz.log(str,dz.LOG_DEBUG)
            return str
        end
        
        -- extract bafId from json and store in persistent data
        local function getBagID()
            rt = dz.utils.fromJSON(triggerObject.data)
            dz.data.bagID = rt[1].bagId
            collectGarbageDates(1)
        end
           
           local function dumpTable(t, level)
            for attr, value in pairs(t) do
                if (type(value) ~= 'function') then
                    if (type(value) == 'table') then
                        io.write(level .. attr .. ':\n')
                        print(level .. attr )
                        dumpTable(value, level .. '    ')
                    else
                        io.write(level .. attr .. ': ' .. tostring(value) .. "\n")
                        print(level .. attr .. ': ' .. tostring(value) )
                    end
                else
                    io.write(level .. attr .. '()\n')
                    print(level .. attr .. '()')
                end
            end
        end
        -- 
        local function handleResponse()
            dz.log(dz.data.bagID,dz.LOG_DEBUG)
            
            if dz.data.bagID == "Not set yet"  then
               getBagID()
               return
            end   
            rt , rtRaw = {}, {}
            rtRaw = dz.utils.fromJSON(triggerObject.data)         -- dzVents does nor recognize the response as pure JSON so conversion is required

            if rtRaw[1] ~=  nil then
                 for k, v in pairs(rtRaw) do                        -- Extra step is necessary because json is not standard and some records are missing 
                     table.insert( rt, { ophaaldatum = v.ophaaldatum , afvalstroom_id = v.afvalstroom_id })
                 end    
                dz.data.garbage = rt
            else
                errorMessage("Problem with response from  (no data) using data from earlier run")
                rt  = dz.data.garbage                       -- json empty. Get last valid from dz.data
                if #rt < 1 then                              -- No valid data in dz.data either
                    errorMessage("No previous data. are zipcode and housenumber ok and in circulus-berkel area?")
                    return false
                end
            end
            
            local garbageLines = ""
            local typeEarliestDate
            local typeEarliestKind
            local overallEarliestDate   = "2999-12-31"       -- Hopefully we will have a different garbage collection system by then
            local garbageToday = false
            local today = os.date("%Y-%m-%d")
            local foundFirst = false
            
            for i = 1,#garbageTypes do --walk the the type Table
                 dz.log("Checking " .. garbageTypes[i],dz.LOG_DEBUG)
                typeEarliestDate      = "2999-12-31"
                local foundOne = false
                for j = 1, #rt do                                 -- walk the result Table
                            -- walk the response table
                    if  rt[j].ophaaldatum >= today and rt[j].ophaaldatum < typeEarliestDate and
                        rt[j].afvalstroom_id == garbageTypes[i] then  -- Keep date closest to today per type
                        foundOne = true
                        typeEarliestDate =  rt[j].ophaaldatum
                        typeEarliestKind =  rt[j].afvalstroom_id
                        if  typeEarliestDate < overallEarliestDate then  -- date closest to today overall ?
                            foundFirst = true
                            overallEarliestDate = typeEarliestDate      -- keep date
                            overallEarliestType =  garbageTypes[i]            -- keep type
                        end
                    end
                    
                end
                if foundOne then 
                    garbageLines = garbageLines .. string2Date(typeEarliestDate,"%a %e %b" ) .. longGarbageName(typeEarliestKind) .. " " .. "\n"
                end    
            end

            if myAlertDevice and foundFirst then   -- Update AlertDevice with nearby date / type
                garbageToday = setGarbageAlertDevice(  myAlertDevice,
                                                        longGarbageName(overallEarliestType) .. "\n" ..
                                                        string2Date(overallEarliestDate),
                                                        overallEarliestDate)
            end

            if myTextDevice then       -- Update defined virtual text device with dates / types
                dz.devices(myTextDevice).updateText(garbageLines)
            end

            if dz.time.matchesRule("at 08:00-17:00") and garbageToday then
                dz.notify(longGarbageName(overallEarliestType) .. "will be collected today")
            end
        end

        -- Main
        if triggerObject.isHTTPResponse then
            if triggerObject.ok then
                handleResponse()
            else
                errorMessage("Problem with response from " .. myProvider .. " (not ok)")
                collectGarbageDates(600)                            -- response not OK, try again after 10 minutes
            end
        else
            if dz.data.bagID == "Not set yet"  or dz.data.ZipCode ~= myZipCode or dz.data.HouseNumber ~= myHouseNumber then
            -- Initial or something changed in zipCode / HouseNumebr
                dz.data.ZipCode     = myZipCode  
                dz.data.HouseNumber = myHouseNumber
                dz.data.bagID       = "Not set yet"
                collectBagId(1)
            else
                collectGarbageDates(1)
            end
        end
    end
}

  • rasper
  • Registratie: januari 2015
  • Laatst online: 01-04 20:56
tsjoender schreef op zaterdag 8 februari 2020 @ 09:09:
[...]


Je kunt de output door grep, awk en of sed halen en zo alles wat je niet nodig hebt wegfilteren. Deze tooltjes zitten in iedere Linux distro. Genoeg voorbeelden online voor de syntax. Verder zou je jq kunnen gebruiken als parser, maar die is niet altijd als package beschikbaar, maar volgens mij wel met apt te installeren onder Raspbian.
als je veel met json in bash/shell scripts wil doen zou ik inderdaad voor jq gaan, is inderdaad gewoon beschikbaar met apt. bv dimlevel van een schakelaar:

code:
1
dimlevel=`curl -s "http://$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$id" | /usr/bin/jq '.result[].Level'`

[Voor 11% gewijzigd door rasper op 08-02-2020 13:19]


  • MikeyMan
  • Registratie: februari 2003
  • Laatst online: 14:44

MikeyMan

Vidi, Vici, Veni

Heb een dummy apparaat aangemaakt met drie dummy switches. Deze switches voeren een script uit die mijn alarm aan en uit zet.

Echter; als ik de switch bedien, blijft deze elke 5s geactiveerd worden. Iemand enig idee hoe dit op te lossen?
MikeyMan schreef op zaterdag 8 februari 2020 @ 15:09:
Heb een dummy apparaat aangemaakt met drie dummy switches. Deze switches voeren een script uit die mijn alarm aan en uit zet.

Echter; als ik de switch bedien, blijft deze elke 5s geactiveerd worden. Iemand enig idee hoe dit op te lossen?
Wellicht handig om het script ook te posten?

MacBook Pro Retina 13" 2018  iPhone Xs Max  Apple Watch Series 4  2x Apple TV 4  Stereopair HomePods


  • MikeyMan
  • Registratie: februari 2003
  • Laatst online: 14:44

MikeyMan

Vidi, Vici, Veni

Toppe schreef op zaterdag 8 februari 2020 @ 17:36:
[...]


Wellicht handig om het script ook te posten?
Euh... No problem! Dacht dat aangezien ik de aanroep in domoticz zie, dat het script zelf niet zoveel ter zake doet...

Zal hem straks ff posten :)

  • MikeyMan
  • Registratie: februari 2003
  • Laatst online: 14:44

MikeyMan

Vidi, Vici, Veni

Toppe schreef op zaterdag 8 februari 2020 @ 17:43:
[...]


De kans is aanwezig dat het script er voor zorgt :+
Hmm… daar had ik niet aan gedacht...

Here goes:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
#!/bin/bash
echo "Starting script in file: "$0
#----------------------------------------------------------------------------------------------------------------------
# Script alarme_Somfy.sh
# Date : 11/2016
# Version : 2.0
# Par : jcjames_13009 <jcjames_13009 at yahoo.fr>
# Description: Somfy Protexiom 5000 alarm control script via Domoticz on Raspberry Pi
# - Adaptation of the Seb13 script from the easydomoticz.com forum for Somfy Protexion 600 alarm to the Protexion 5000 model
# * Reading system states and updating in Domoticz
# * Zone A alarm on
# * Zone B alarm on
# * Activation of Zone C alarm
# * Activation of the zones A B C alarm
# * Alarm stop Zones A B C
# * Reset battery, link and alarm faults
# * Management of Elements list and update in Domoticz
#----------------------------------------------------------------------------------------------------------------------
# Call script
# - Update of alarm states every 15 min via crontab:
# * / 15 * * * * sudo /home/pi/domoticz/scripts/somfy.sh --Status
# - Control of the alarm from DOMOTICZ:
# Ex for switching on Zone A add in the "Action On" tab of the virtual sensor:
# script: ///home/pi/domoticz/scripts/somfy.sh --ZoneAOn
#----------------------------------------------------------------------------------------------------------------------
# Version : 2.1
# Date : 25/11/2016
# - Addition of a "sleep 1" to avoid loss of alarm state return between each command in the reading of the state
# of system and list of Elements
#----------------------------------------------------------------------------------------------------------------------
# Version : 2.2
# Date : 27/11/2016
# - Add code reset fault batteries, links and alarms
#----------------------------------------------------------------------------------------------------------------------
# Version : 2.3
# Date : 10/12/2016
# - Management of Elements list and update in Domoticz
#----------------------------------------------------------------------------------------------------------------------
# Version : 2.4
# Date : 04/01/2017
# - Send a single command to avoid loss of alarm return between each command in the reading of
# the state of the system and the list of Elements
#----------------------------------------------------------------------------------------------------------------------
# Version 2.5
# Date : 21/12/2017
# - Adaptation of the script to Domoticz on NAS Synology
# Replacement of iconv which does not exist on Synology by uconv
#----------------------------------------------------------------------------------------------------------------------

Debug=True
#Debug=False
if [ "$Debug" = "True" ]; then 
echo "Debug is set to "$Debug
fi

#----------------------------------------------------------------------------------------------------------------------
# PARAMETRES ALARME
#----------------------------------------------------------------------------------------------------------------------
# Carte d'authentification perso
declare -A CarteAuthentification

CarteAuthentification=(     ["A1"]="7092" ["B1"]="2220" ["C1"]="4790" ["D1"]="5830" ["E1"]="0920" ["F1"]="0912" 
                ["A2"]="7402" ["B2"]="5242" ["C2"]="2044" ["D2"]="5284" ["E2"]="4478" ["F2"]="8110" 
                ["A3"]="2992" ["B3"]="9928" ["C3"]="9394" ["D3"]="9250" ["E3"]="7988" ["F3"]="4348" 
                ["A4"]="3830" ["B4"]="5174" ["C4"]="9560" ["D4"]="8672" ["E4"]="0090" ["F4"]="0698"
                ["A5"]="3004" ["B5"]="1332" ["C5"]="5390" ["D5"]="7870" ["E5"]="0848" ["F5"]="3528" ) 


# Adresse IP alarme Somfy 
SrvSomfyIp="http://10.0.0.112/"

# Code Utilisateur1
CodeUtilisateur1=0000

# URLs alarme SOMFY PROTEXION 5000 GSM
UrlLogin=$SrvSomfyIp"gb/login.htm"          # Connect
UrlLogout=$SrvSomfyIp"logout.htm"           # Log out
UrlEtat=$SrvSomfyIp"status.xml"             # Status
UrlPilotage=$SrvSomfyIp"gb/u_pilotage.htm"      # Control of alarm and automatic devices
UrlElements=$SrvSomfyIp"gb/u_listelmt.htm"      # List of system devices

#----------------------------------------------------------------------------------------------------------------------
# PARAMETRES DOMOTICZ
#----------------------------------------------------------------------------------------------------------------------
# ID's Domoticz
AlarmeSomfyPilesIdx=18      #Batteries
AlarmeSomfyRadioIdx=19      #Radio link
AlarmeSomfyPorteIdx=20      #Door
AlarmeSomfyAlarmeIdx=21     #Alarm
AlarmeSomfyBoitierIdx=22    #Status

AlarmeSomfyGSMIdx=26        #GSM
AlarmeSomfySignalGSMIdx=24  #Signal
AlarmeSomfyOperateurGSMIdx=25   #Provider

#AlarmeSomfyCameraIdx=xxx   #Camera

AlarmeSomfyZoneAIdx=15      #Zone A
AlarmeSomfyZoneBIdx=16      #Zone B
AlarmeSomfyZoneCIdx=17      #Zone C

#AlarmeSomfyDOEntreeIdx=xxx
#AlarmeSomfyDOAtelierIdx=xxx

# Domoticz IP Address
SrvDomoticzIp="10.0.0.30:8080"

#----------------------------------------------------------------------------------------------------------------------
# Functions
#----------------------------------------------------------------------------------------------------------------------
# Function Help Menu
Aide() {
    echo -e "\tScript Domoticz Alarme Somfy Protexion 5000"
    echo -e "\t--help or -h  \t\tHelp Menu"
    echo -e "\t--Status      \t\tReading of the system state"
    echo -e "\t--Elements    \t\tList of Devices"
    echo -e "\t--ZoneAOn     \t\tZone A alarm on"
    echo -e "\t--ZoneBOn     \t\tZone B alarm on"
    echo -e "\t--ZoneCOn     \t\tZone A alarm on"
    echo -e "\t--ZonesABCOn  \t\tZone A B and C alarm on"
    echo -e "\t--AlarmeOff   \t\tAlarm stop Zones A B C"
    echo -e "\t--RSTPiles    \t\tReset battery errors"
    echo -e "\t--RSTAlarmes  \t\tReset alarm errors"
    echo -e "\t--RSTLiaisons \t\tReset link errors"
}

# Function Alarm Connection
login_alarme () {
    # Affichage des URLs
    if [ "$Debug" = "True" ]; then
        echo " ********************************* "
        echo " List of URLs"
        echo " ********************************* "
        echo " UrlLogin    = "$UrlLogin
        echo " UrlLogout   = "$UrlLogout
        echo " UrlEtat     = "$UrlEtat
        echo " UrlPilotage = "$UrlPilotage
        echo " UrlElements = "$UrlElements
    fi

    # Get access code
    if [ "$Debug" = "True" ]; then
        echo " Retrieving access code"
        CodeAcces="$(curl $SrvSomfyIp $UrlLogin | grep -Eoi 'code <b>.*</b>')"
        CodeAcces="$(echo "${CodeAcces:8:2}")"
        echo " Access code = "$CodeAcces
    else
        CodeAcces="$(curl -s $SrvSomfyIp $UrlLogin | grep -Eoi 'code <b>.*</b>')"
        CodeAcces="$(echo "${CodeAcces:8:2}")"
    fi

    # Get access code from table
    CodeAuthentification="${CarteAuthentification["$CodeAcces"]}"
    if [ "$Debug" = "True" ]; then
        echo " Get authentication code"
        echo " Authentication code = "$CodeAuthentification
    fi

    # Send user1 code and authentication code to URL to login
    if [ "$Debug" = "True" ]; then
        echo " Send User1 code and authentication code"
        curl -L --cookie cjar --cookie-jar cjar --data "password="$CodeUtilisateur1"&key="$CodeAuthentification"&btn_login=Connexion" $UrlLogin | iconv -f iso8859-1 -t utf-8
        #curl -L --cookie cjar --cookie-jar cjar --data "password="$CodeUtilisateur1"&key="$CodeAuthentification"&btn_login=Connexion" $UrlLogin | uconv -f iso8859-1 -t utf-8
    else
        curl -s -L --cookie cjar --cookie-jar cjar --data "password="$CodeUtilisateur1"&key="$CodeAuthentification"&btn_login=Connexion" $UrlLogin  | iconv -f iso8859-1 -t utf-8 > /dev/null
        #curl -s -L --cookie cjar --cookie-jar cjar --data "password="$CodeUtilisateur1"&key="$CodeAuthentification"&btn_login=Connexion" $UrlLogin  | uconv -f iso8859-1 -t utf-8 > /dev/null
    fi
}

# Function connect alarm
logout_alarme () {
    if [ "$Debug" = "True" ]; then
        echo " Connecting to Alarm"
        curl -L --cookie cjar --cookie-jar cjar $UrlLogout | iconv -f iso8859-1 -t utf-8
        #curl -L --cookie cjar --cookie-jar cjar $UrlLogout | uconv -f iso8859-1 -t utf-8
    else
        curl -s -L --cookie cjar --cookie-jar cjar $UrlLogout | iconv -f iso8859-1 -t utf-8 > /dev/null
        #curl -s -L --cookie cjar --cookie-jar cjar $UrlLogout | uconv -f iso8859-1 -t utf-8 > /dev/null
    fi
}

# Function update Domoticz Sensors
# Parameters: $1 Sensornaam / $2 On / Off / $3 Idx sensor
maj_capteur () {
    if [ "$Debug" = "True" ]; then
        echo " Staat "$1
        if [ "$2" = "On" ]; then
            curl "http://$SrvDomoticzIp/json.htm?type=command&param=switchlight&idx=$3&switchcmd=On"
        else
            curl "http://$SrvDomoticzIp/json.htm?type=command&param=switchlight&idx=$3&switchcmd=Off"
        fi
    else
        if [ "$2" = "On" ]; then
            curl -s "http://$SrvDomoticzIp/json.htm?type=command&param=switchlight&idx=$3&switchcmd=On" > /dev/null
        else
            curl -s "http://$SrvDomoticzIp/json.htm?type=command&param=switchlight&idx=$3&switchcmd=Off" > /dev/null
        fi
    fi
}

#----------------------------------------------------------------------------------------------------------------------
# Script launch options menu
#----------------------------------------------------------------------------------------------------------------------
while [[ $1 == -* ]]; do
    case "$1" in
        --help|-h) Aide; exit 0;;
        --Status) Status="1"; break;;
        --Elements) Elements="1"; break;;
        --ZoneAOn) ZoneAOn="1"; break;;
        --ZoneBOn) ZoneBOn="1"; break;;
        --ZoneCOn) ZoneCOn="1"; break;;
        --ZonesABCOn) ZonesABCOn="1"; break;;
        --AlarmeOff) AlarmeOff="1"; break;;
        --RSTPiles) RSTPiles="1"; break;;
        --RSTAlarmes) RSTAlarmes="1"; break;;
        --RSTLiaisons) RSTLiaisons="1"; break;;
        --*|-*) shift; break;;
    esac
done


#----------------------------------------------------------------------------------------------------------------------
# Reading the state of the system
#----------------------------------------------------------------------------------------------------------------------
if [ "$Status" = "1" ]; then
    # Connect with alarm
    login_alarme
    
    # Reading of the state of the system and retrieval in the variables
    # Send URL http://IPAlarme/status.xml
    # Return:
    #   <zone0>off</zone0>              -> Zone A
    #   <zone1>off</zone1>              -> Zone B
    #   <zone2>off</zone2>              -> Zone C
    #
    #   <defaut0>ok</defaut0>               -> Piles
    #   <defaut1>ok</defaut1>               -> Radio
    #   <defaut2>ok</defaut2>               -> Porte/Fenêtre
    #   <defaut3>ok</defaut3>               -> Alarme
    #   <defaut4>ok</defaut4>               -> Boitier
    #
    #   <gsm>GSM connected to the network</gsm>     -> GSM
    #   <recgsm>4</recgsm>              -> Signal GSM
    #   <opegsm>"Orange</opegsm>            -> GSM Provider
    #   <camera>disabled</camera>           -> Camera

    # Reading of the state of the system and storage in temporary file
    if [ "$Debug" = "True" ]; then
        echo " Read system state"
        curl -L --cookie cjar --cookie-jar cjar $UrlEtat | iconv -f iso8859-1 -t utf-8 > status
        #curl -L --cookie cjar --cookie-jar cjar $UrlEtat | uconv -f iso8859-1 -t utf-8 > status
    else
        curl -s -L --cookie cjar --cookie-jar cjar $UrlEtat | iconv -f iso8859-1 -t utf-8 > status
        #curl -s -L --cookie cjar --cookie-jar cjar $UrlEtat | uconv -f iso8859-1 -t utf-8 > status
    fi

    # Log out
    logout_alarme
    
    # Recovery in variables
    EtatZoneA="$(grep -Eoi '<zone0>.*' status)"
    EtatZoneA="$(echo "${EtatZoneA:7:-9}")"
    EtatZoneB="$(grep -Eoi '<zone1>.*' status)"
    EtatZoneB="$(echo "${EtatZoneB:7:-9}")"
    EtatZoneC="$(grep -Eoi '<zone2>.*' status)"
    EtatZoneC="$(echo "${EtatZoneC:7:-9}")"

    EtatPiles="$(grep -Eoi '<defaut0>.*' status)"
    EtatPiles="$(echo "${EtatPiles:9:-11}")"
    EtatRadio="$(grep -Eoi '<defaut1>.*' status)"
    EtatRadio="$(echo "${EtatRadio:9:-11}")"
    EtatPorte="$(grep -Eoi '<defaut2>.*' status)"
    EtatPorte="$(echo "${EtatPorte:9:-11}")"
    EtatAlarme="$(grep -Eoi '<defaut3>.*' status)"
    EtatAlarme="$(echo "${EtatAlarme:9:-11}")"
    EtatBoitier="$(grep -Eoi '<defaut4>.*' status)"
    EtatBoitier="$(echo "${EtatBoitier:9:-11}")"

    EtatGSM="$(grep -Eoi '<gsm>.*' status)"
    EtatGSM="$(echo "${EtatGSM:5:-7}")"
    SignalGSM="$(grep -Eoi '<recgsm>.*' status)"
    SignalGSM="$(echo "${SignalGSM:8:-10}")"
    OperateurGSM="$(grep -Eoi '<opegsm>.*' status)"
    OperateurGSM="$(echo "${OperateurGSM:9:-10}")"
        
    EtatCamera="$(grep -Eoi '<camera>.*' status)"
    EtatCamera="$(echo "${EtatCamera:8:-10}")"
    
    if [ "$Debug" = "True" ]; then
        # Status overview
        echo " ******************************************* "
        echo "  System state"
        echo " ******************************************* "
        echo " Zone A                   = "$EtatZoneA
        echo " Zone B                   = "$EtatZoneB
        echo " Zone C                   = "$EtatZoneC
        echo ""
        echo " Status Batterijen    = "$EtatPiles
        echo " Status communicatie  = "$EtatRadio
        echo " Status Ramen/Deuren  = "$EtatPorte
        echo " Status Alarm     = "$EtatAlarme
        echo " Status Behuizing     = "$EtatBoitier
        echo ""
        echo " Status GSM               = "$EtatGSM
        echo " Signal GSM               = "$SignalGSM
        echo " GSM Provider     = "$OperateurGSM
        echo ""
        echo " Status Camera        = "$EtatCamera
    fi
    
    # Update of Domoticz sensors
    if [ "$Debug" = "True" ]; then
        echo " Update of Domoticz sensors"
    fi

    # Zone A
    if [ "$EtatZoneA" = "off" ]; then
        maj_capteur ZoneA Off $AlarmeSomfyZoneAIdx
    else
        maj_capteur ZoneA On $AlarmeSomfyZoneAIdx
    fi

    # Zone B
    if [ "$EtatZoneB" = "off" ]; then
        maj_capteur ZoneB Off $AlarmeSomfyZoneBIdx
    else
        maj_capteur ZoneB On $AlarmeSomfyZoneBIdx
    fi

    # Zone C
    if [ "$EtatZoneC" = "off" ]; then
        maj_capteur ZoneC Off $AlarmeSomfyZoneCIdx
    else
        maj_capteur ZoneC On $AlarmeSomfyZoneCIdx
    fi

    # Battery Status
    if [ "$EtatPiles" = "ok" ]; then
        maj_capteur Piles On $AlarmeSomfyPilesIdx
    else
        maj_capteur Piles Off $AlarmeSomfyPilesIdx
    fi

    # Link status
    if [ "$EtatRadio" = "ok" ]; then
        maj_capteur Radio On $AlarmeSomfyRadioIdx
    else
        maj_capteur Radio Off $AlarmeSomfyRadioIdx
    fi

    # Window/door status
    if [ "$EtatPorte" = "ok" ]; then
        maj_capteur Porte/Fenetre Off $AlarmeSomfyPorteIdx
    else
        maj_capteur Porte/Fenetre On $AlarmeSomfyPorteIdx
    fi

    # Alarm status
    if [ "$EtatAlarme" = "ok" ]; then
        maj_capteur Alarme Off $AlarmeSomfyAlarmeIdx
    else
        maj_capteur Alarme On $AlarmeSomfyAlarmeIdx
    fi

    # Housing status
    if [ "$EtatBoitier" = "ok" ]; then
        maj_capteur Boitier Off $AlarmeSomfyBoitierIdx
    else
        maj_capteur Boitier On $AlarmeSomfyBoitierIdx
    fi

    # GSM Status
    if [ "$EtatGSM" = "GSM connecté au réseau" ]; then
        maj_capteur GSM On $AlarmeSomfyGSMIdx
    else
        maj_capteur GSM Off $AlarmeSomfyGSMIdx
    fi


    # GSM Signaal
    if [ "$Debug" = "True" ]; then
        echo " Niveau Signal GSM"
        curl "http://$SrvDomoticzIp/json.htm?type=command&param=udevice&idx=$AlarmeSomfySignalGSMIdx&nvalue=0&svalue=$SignalGSM"
    else
        curl -s "http://$SrvDomoticzIp/json.htm?type=command&param=udevice&idx=$AlarmeSomfySignalGSMIdx&nvalue=0&svalue=$SignalGSM" > /dev/null
    fi
        
    # GSM Provider
    if [ "$Debug" = "True" ]; then
        echo " Opérateur GSM"
        curl "http://$SrvDomoticzIp/json.htm?type=command&param=udevice&idx=$AlarmeSomfyOperateurGSMIdx&nvalue=0&svalue=$OperateurGSM"
    else
        curl -s "http://$SrvDomoticzIp/json.htm?type=command&param=udevice&idx=$AlarmeSomfyOperateurGSMIdx&nvalue=0&svalue=$OperateurGSM" > /dev/null
    fi  

    # Camera
    #if [ "$EtatCamera" = "disabled" ]; then
    #   maj_capteur Camera Off $AlarmeSomfyCameraIdx
    #else
    #   maj_capteur Camera On $AlarmeSomfyCameraIdx
    #fi
    
fi  

#----------------------------------------------------------------------------------------------------------------------
# Alarm activation Zones A B C
#----------------------------------------------------------------------------------------------------------------------
if [ "$ZonesABCOn" = "1" ]; then
    # Connect with Alarm
    login_alarme

    # Alarm activation Zones A B C
    if [ "$Debug" = "True" ]; then
        echo "Alarm activation Zones A B C"
        curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_ABC=Marche A B C" $UrlPilotage | iconv -f iso8859-1 -t utf-8
        #curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_ABC=Marche A B C" $UrlPilotage | uconv -f iso8859-1 -t utf-8
    else
        curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_ABC=Marche A B C" $UrlPilotage | iconv -f iso8859-1 -t utf-8 > /dev/null
        #curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_ABC=Marche A B C" $UrlPilotage | uconv -f iso8859-1 -t utf-8 > /dev/null
    fi

    # Log out of alarm
    logout_alarme

    # Domoticz sensor update
    if [ "$Debug" = "True" ]; then
        echo " Domoticz sensor update"
    fi
    maj_capteur ZoneA On $AlarmeSomfyZoneAIdx
    maj_capteur ZoneB On $AlarmeSomfyZoneBIdx
    maj_capteur ZoneC On $AlarmeSomfyZoneCIdx
fi

#----------------------------------------------------------------------------------------------------------------------
# Mise en marche de l'alarme Zone A
#----------------------------------------------------------------------------------------------------------------------
if [ "$ZoneAOn" = "1" ]; then
    # Connexion à l'alarme
    login_alarme

    # Mise en marche de l'alarme Zone A
    if [ "$Debug" = "True" ]; then
        echo "Mise en marche de l'alarme Zone A"
        curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_A=Marche A" $UrlPilotage | iconv -f iso8859-1 -t utf-8
        #curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_A=Marche A" $UrlPilotage | uconv -f iso8859-1 -t utf-8
    else
        curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_A=Marche A" $UrlPilotage | iconv -f iso8859-1 -t utf-8 > /dev/null
        #curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_A=Marche A" $UrlPilotage | uconv -f iso8859-1 -t utf-8 > /dev/null
    fi

    # Deconnexion de l'alarme
    logout_alarme

    # Mise à jour capteurs Domoticz
    if [ "$Debug" = "True" ]; then
        echo " Mise à jour capteurs Domoticz"
    fi
    maj_capteur ZoneA On $AlarmeSomfyZoneAIdx
fi

#----------------------------------------------------------------------------------------------------------------------
# Mise en marche de l'alarme Zone B
#----------------------------------------------------------------------------------------------------------------------
if [ "$ZoneBOn" = "1" ]; then
    # Connexion à l'alarme
    login_alarme

    # Mise en marche de l'alarme Zone B
    if [ "$Debug" = "True" ]; then
        echo "Mise en marche de l'alarme Zone B"
        curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_B=Marche B" $UrlPilotage | iconv -f iso8859-1 -t utf-8
        #curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_B=Marche B" $UrlPilotage | uconv -f iso8859-1 -t utf-8
    else
        curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_B=Marche B" $UrlPilotage | iconv -f iso8859-1 -t utf-8 > /dev/null
        #curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_B=Marche B" $UrlPilotage | uconv -f iso8859-1 -t utf-8 > /dev/null
    fi

    # Deconnexion de l'alarme
    logout_alarme

    # Mise à jour capteurs Domoticz
    if [ "$Debug" = "True" ]; then
        echo " Mise à jour capteurs Domoticz"
    fi
    maj_capteur ZoneB On $AlarmeSomfyZoneBIdx
fi

#----------------------------------------------------------------------------------------------------------------------
# Mise en marche de l'alarme Zone C
#----------------------------------------------------------------------------------------------------------------------
if [ "$ZoneCOn" = "1" ]; then
    # Connexion à l'alarme
    login_alarme

    # Mise en marche de l'alarme Zone C
    if [ "$Debug" = "True" ]; then
        echo "Mise en marche de l'alarme Zone C"
        curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_C=Marche C" $UrlPilotage | iconv -f iso8859-1 -t utf-8
        #curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_C=Marche C" $UrlPilotage | uconv -f iso8859-1 -t utf-8
    else
        curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_C=Marche C" $UrlPilotage | iconv -f iso8859-1 -t utf-8 > /dev/null
        #curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&hidden=hidden&btn_zone_on_C=Marche C" $UrlPilotage | uconv -f iso8859-1 -t utf-8 > /dev/null
    fi

    # Deconnexion de l'alarme
    logout_alarme

    # Mise à jour capteurs Domoticz
    if [ "$Debug" = "True" ]; then
        echo " Mise à jour capteurs Domoticz"
    fi
    maj_capteur ZoneC On $AlarmeSomfyZoneCIdx
fi

#----------------------------------------------------------------------------------------------------------------------
# Arret de l'alarme Zones A B C
#----------------------------------------------------------------------------------------------------------------------
if [ "$AlarmeOff" = "1" ]; then
    # Connexion à l'alarme
    login_alarme

    # Arret de l'alarme Zones A B C
    if [ "$Debug" = "True" ]; then
        echo "Arret de l'alarme Zones A B C"
        curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&btn_zone_off_ABC=Arret A B C" $UrlPilotage | iconv -f iso8859-1 -t utf-8
        #curl -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&btn_zone_off_ABC=Arret A B C" $UrlPilotage | uconv -f iso8859-1 -t utf-8
    else
        curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&btn_zone_off_ABC=Arret A B C" $UrlPilotage | iconv -f iso8859-1 -t utf-8 > /dev/null
        #curl -s -L --cookie cjar --cookie-jar cjar --data "hidden=hidden&btn_zone_off_ABC=Arret A B C" $UrlPilotage | uconv -f iso8859-1 -t utf-8 > /dev/null
    fi

    # Deconnexion de l'alarme
    logout_alarme
    
    # Mise à jour capteurs Domoticz
    if [ "$Debug" = "True" ]; then
        echo " Mise à jour capteurs Domoticz"
    fi
    maj_capteur ZoneA Off $AlarmeSomfyZoneAIdx
    maj_capteur ZoneB Off $AlarmeSomfyZoneBIdx
    maj_capteur ZoneC Off $AlarmeSomfyZoneCIdx
fi

#----------------------------------------------------------------------------------------------------------------------
# Reset defauts piles
#----------------------------------------------------------------------------------------------------------------------
if [ "$RSTPiles" = "1" ]; then
    # Connexion à l'alarme
    login_alarme

    # Reset defauts piles
    if [ "$Debug" = "True" ]; then
        echo "Reset defauts piles"
        curl -L --cookie cjar --cookie-jar cjar --data "btn_del_pil=Piles" $UrlElements | iconv -f iso8859-1 -t utf-8
        #curl -L --cookie cjar --cookie-jar cjar --data "btn_del_pil=Piles" $UrlElements | uconv -f iso8859-1 -t utf-8
    else
        curl -s -L --cookie cjar --cookie-jar cjar --data "btn_del_pil=Piles" $UrlElements | iconv -f iso8859-1 -t utf-8 > /dev/null
        #curl -s -L --cookie cjar --cookie-jar cjar --data "btn_del_pil=Piles" $UrlElements | uconv -f iso8859-1 -t utf-8 > /dev/null
    fi

    # Deconnexion de l'alarme
    logout_alarme
fi

#----------------------------------------------------------------------------------------------------------------------
# Reset defauts alarmes
#----------------------------------------------------------------------------------------------------------------------
if [ "$RSTAlarmes" = "1" ]; then
    # Connexion à l'alarme
    login_alarme

    # Reset defauts alarmes
    if [ "$Debug" = "True" ]; then
        echo "Reset defauts alarmes"
        curl -L --cookie cjar --cookie-jar cjar --data "btn_del_alm=Alarmes" $UrlElements | iconv -f iso8859-1 -t utf-8
        #curl -L --cookie cjar --cookie-jar cjar --data "btn_del_alm=Alarmes" $UrlElements | uconv -f iso8859-1 -t utf-8
    else
        curl -s -L --cookie cjar --cookie-jar cjar --data "btn_del_alm=Alarmes" $UrlElements | iconv -f iso8859-1 -t utf-8 > /dev/null
        #curl -s -L --cookie cjar --cookie-jar cjar --data "btn_del_alm=Alarmes" $UrlElements | uconv -f iso8859-1 -t utf-8 > /dev/null
    fi

    # Deconnexion de l'alarme
    logout_alarme
fi

#----------------------------------------------------------------------------------------------------------------------
# Reset defauts liaisons
#----------------------------------------------------------------------------------------------------------------------
if [ "$RSTLiaisons" = "1" ]; then
    # Connexion à l'alarme
    login_alarme

    # Reset defauts liaisons
    if [ "$Debug" = "True" ]; then
        echo "Reset defauts liaisons"
        curl -L --cookie cjar --cookie-jar cjar --data "btn_del_lia=Liaisons" $UrlElements | iconv -f iso8859-1 -t utf-8
        #curl -L --cookie cjar --cookie-jar cjar --data "btn_del_lia=Liaisons" $UrlElements | uconv -f iso8859-1 -t utf-8
    else
        curl -s -L --cookie cjar --cookie-jar cjar --data "btn_del_lia=Liaisons" $UrlElements | iconv -f iso8859-1 -t utf-8 > /dev/null
        #curl -s -L --cookie cjar --cookie-jar cjar --data "btn_del_lia=Liaisons" $UrlElements | uconv -f iso8859-1 -t utf-8 > /dev/null
    fi

    # Deconnexion de l'alarme
    logout_alarme
fi

#----------------------------------------------------------------------------------------------------------------------
# Gestion de la liste des Elements
#----------------------------------------------------------------------------------------------------------------------
if [ "$Elements" = "1" ]; then
    # Connexion à l'alarme
    login_alarme

    # Lecture de la liste des Elements et stockage dans fichier temporaire
    if [ "$Debug" = "True" ]; then
        echo "Gestion liste des Elements"
        curl -L --cookie cjar --cookie-jar cjar $UrlElements | iconv -f iso8859-1 -t utf-8 > elements
        #curl -L --cookie cjar --cookie-jar cjar $UrlElements | uconv -f iso8859-1 -t utf-8 > elements
    else
        curl -s -L --cookie cjar --cookie-jar cjar $UrlElements | iconv -f iso8859-1 -t utf-8 > elements
        #curl -s -L --cookie cjar --cookie-jar cjar $UrlElements | uconv -f iso8859-1 -t utf-8 > elements
    fi

    # Deconnexion de l'alarme
    logout_alarme
    
    # Récupération dans les variables
    TypeElements="$(grep -Eoi 'var item_label.*' elements)"
    NomElements="$(grep -Eoi 'var elt_name.*' elements)"
    EtatElements="$(grep -Eoi 'var item_pause.*' elements)"
    EtatPiles="$(grep -Eoi 'var elt_pile.*' elements)"
    EtatLiaison="$(grep -Eoi 'var elt_onde.*' elements)"
    EtatPortes="$(grep -Eoi 'var elt_porte.*' elements)"
    EtatBoitiers="$(grep -Eoi 'var elt_as.*' elements)"
    EtatAlarme="$(grep -Eoi 'var elt_maison.*' elements)"

    # Affichage des Elements
    if [ "$Debug" = "True" ]; then
        echo " Type des Elements"
        echo $TypeElements
        echo " Nom des Elements"
        echo $NomElements
        echo " Etat des Elements"
        echo $EtatElements
        echo " Etat des piles"
        echo $EtatPiles
        echo " Etat liaison radio"
        echo $EtatLiaison
        echo " Etat détecteurs ouverture"
        echo $EtatPortes
        echo " Etat ouverture boitiers"
        echo $EtatBoitiers
        echo " Etat alarme"
        echo $EtatAlarme
    fi
        
    # Formatage du type des Elements    
    # Suppression des 21 1er caractères et 2 derniers
    TypeElements="$(echo "${TypeElements:21:-2}")"
    # Suppression des "
    TypeElements="$(echo "$TypeElements" | sed s/\"//g)"
    # Suppression des espaces entre les ,
    TypeElements="$(echo "$TypeElements" | sed s/\,\ /\,/g)"
    # Déclaration , comme séparateur
    IFS=","
    # Stockage dans le tableau
    TabTypeElements=($TypeElements)

    # Formatage des noms des Elements
    # Suppression des 21 1er caractères et 2 derniers
    NomElements="$(echo "${NomElements:21:-2}")"
    # Suppression des "
    NomElements="$(echo "$NomElements" | sed s/\"//g)"
    # Suppression des espaces entre les ,
    NomElements="$(echo "$NomElements" | sed s/\,\ /\,/g)"
    # Déclaration , comme séparateur
    IFS=","
    # Stockage dans le tableau
    TabNomElements=($NomElements)
        
    # Formatage état des Elements
    # Suppression des 21 1er caractères et 2 derniers
    EtatElements="$(echo "${EtatElements:21:-2}")"
    # Suppression des "
    EtatElements="$(echo "$EtatElements" | sed s/\"//g)"
    # Suppression des espaces entre les ,
    EtatElements="$(echo "$EtatElements" | sed s/\,\ /\,/g)"
    # Déclaration , comme séparateur
    IFS=","
    # Stockage dans le tableau
    TabEtatElements=($EtatElements)
    # Modification valeurs tableau
    TailleTab=${#TabEtatElements[@]}
    for (( i=0; i<$TailleTab; i++ ))
    do
        if [ ${TabEtatElements["$i"]} = "running" ]; then TabEtatElements["$i"]="Activé"
        else
            TabEtatElements["$i"]="Désactivé"
        fi
    done

    # Formatage état des piles
    # Suppression des 21 1er caractères et 2 derniers
    EtatPiles="$(echo "${EtatPiles:21:-2}")"
    # Suppression des "
    EtatPiles="$(echo "$EtatPiles" | sed s/\"//g)"
    # Suppression des espaces entre les ,
    EtatPiles="$(echo "$EtatPiles" | sed s/\,\ /\,/g)"
    # Déclaration , comme séparateur
    IFS=","
    # Stockage dans le tableau
    TabEtatPiles=($EtatPiles)
    # Modification des valeurs du tableau
    TailleTab=${#TabEtatPiles[@]}
    for (( i=0; i<$TailleTab; i++ ))
    do
        if [ ${TabEtatPiles["$i"]} = "itemhidden" ]; then TabEtatPiles["$i"]="NA"
        else
            if [ ${TabEtatPiles["$i"]} = "itembattok" ]; then TabEtatPiles["$i"]="OK"
            else
                TabEtatPiles["$i"]="NOK"
            fi
        fi
    done

    # Formatage état liaison radio
    # Suppression des 21 1er caractères et 2 derniers
    EtatLiaison="$(echo "${EtatLiaison:21:-2}")"
    # Suppression des "
    EtatLiaison="$(echo "$EtatLiaison" | sed s/\"//g)"
    # Suppression des espaces entre les ,
    EtatLiaison="$(echo "$EtatLiaison" | sed s/\,\ /\,/g)"
    # Déclaration , comme séparateur
    IFS=","
    # Stockage dans le tableau
    TabEtatLiaison=($EtatLiaison)
    # Modification des valeurs du tableau
    TailleTab=${#TabEtatLiaison[@]}
    for (( i=0; i<$TailleTab; i++ ))
    do
        if [ ${TabEtatLiaison["$i"]} = "itemhidden" ]; then TabEtatLiaison["$i"]="NA"
        else
            if [ ${TabEtatLiaison["$i"]} = "itemcomok" ]; then TabEtatLiaison["$i"]="OK"
            else
                TabEtatLiaison["$i"]="NOK"
            fi
        fi
    done
        
    # Récup état détecteurs ouverture
    # Suppression des 21 1er caractères et 2 derniers
    EtatPortes="$(echo "${EtatPortes:21:-2}")"
    # Suppression des "
    EtatPortes="$(echo "$EtatPortes" | sed s/\"//g)"
    # Suppression des espaces entre les ,
    EtatPortes="$(echo "$EtatPortes" | sed s/\,\ /\,/g)"
    # Déclaration , comme séparateur
    IFS=","
    # Stockage dans le tableau
    TabEtatPortes=($EtatPortes)
    # Modification des valeurs du tableau
    TailleTab=${#TabEtatPortes[@]}
    for (( i=0; i<$TailleTab; i++ ))
    do
        if [ ${TabEtatPortes["$i"]} = "itemhidden" ]; then TabEtatPortes["$i"]="NA"
        else
            if [ ${TabEtatPortes["$i"]} = "itemdoorok" ]; then TabEtatPortes["$i"]="Fermée"
            else
                TabEtatPortes["$i"]="Ouverte"
            fi
        fi
    done
        
    # Récup état ouverture boitiers
    # Suppression des 21 1er caractères et 2 derniers
    EtatBoitiers="$(echo "${EtatBoitiers:21:-2}")"
    # Suppression des "
    EtatBoitiers="$(echo "$EtatBoitiers" | sed s/\"//g)"
    # Suppression des espaces entre les ,
    EtatBoitiers="$(echo "$EtatBoitiers" | sed s/\,\ /\,/g)"
    # Déclaration , comme séparateur
    IFS=","
    # Stockage dans le tableau
    TabEtatBoitiers=($EtatBoitiers)
    # Modification des valeurs du tableau
    TailleTab=${#TabEtatBoitiers[@]}
    for (( i=0; i<$TailleTab; i++ ))
    do
        if [ ${TabEtatBoitiers["$i"]} = "itemhidden" ]; then TabEtatBoitiers["$i"]="NA"
        else
            if [ ${TabEtatBoitiers["$i"]} = "itemboxok" ]; then TabEtatBoitiers["$i"]="Fermé"
            else
                TabEtatBoitiers["$i"]="Ouvert"
            fi
        fi
    done
        
    # Récup état alarme
    # Suppression des 21 1er caractères et 2 derniers
    EtatAlarme="$(echo "${EtatAlarme:21:-2}")"
    # Suppression des "
    EtatAlarme="$(echo "$EtatAlarme" | sed s/\"//g)"
    # Suppression des espaces entre les ,
    EtatAlarme="$(echo "$EtatAlarme" | sed s/\,\ /\,/g)"
    # Déclaration , comme séparateur
    IFS=","
    # Stockage dans le tableau
    TabEtatAlarme=($EtatAlarme)
    # Modification des valeurs du tableau
    TailleTab=${#TabEtatAlarme[@]}
    for (( i=0; i<$TailleTab; i++ ))
    do
        if [ ${TabEtatAlarme["$i"]} = "itemhouseok" ]; then TabEtatAlarme["$i"]="Pas d'alarme"
        else
            TabEtatAlarme["$i"]="Alarme"
        fi
    done
        
    # Affichage de la liste des Elements
    if [ "$Debug" = "True" ]; then
        echo " Liste des Elements"
        TailleTab=${#TabNomElements[@]}
        for (( i=0; i<$TailleTab; i++ ))
        do
            echo " Type : "${TabTypeElements["$i"]} "/ Nom : "${TabNomElements["$i"]} "/ Etat : "${TabEtatElements["$i"]} "/ Etat piles : "${TabEtatPiles["$i"]} "/ Etat liaison : "${TabEtatLiaison["$i"]} "/ Etat portes : "${TabEtatPortes["$i"]} "/ Etat boitiers : "${TabEtatBoitiers["$i"]} "/ Etat alarme : "${TabEtatAlarme["$i"]}
        done    
    fi
    
    # Mise à jour capteurs Domoticz
    if [ "$Debug" = "True" ]; then
        echo " Mise à jour capteurs Domoticz"
    fi

    # DO Entré
    TailleTab=${#TabNomElements[@]}
    for (( i=0; i<$TailleTab; i++ ))
    do
        if [ "${TabNomElements["$i"]}" = "DO Entree" ]; then PosElement=$i
        fi
    done
    if [ "${TabEtatPortes["$PosElement"]}" = "Fermée" ]; then    
        maj_capteur DOEntrée Off $AlarmeSomfyDOEntreeIdx
    else
        maj_capteur DOEntrée On $AlarmeSomfyDOEntreeIdx
    fi
    
    # DO Couloir
    for (( i=0; i<$TailleTab; i++ ))
    do
         if [ "${TabNomElements["$i"]}" = "DO Couloir" ]; then PosElement=$i
        fi
    done
    if [ ${TabEtatPortes["$PosElement"]} = "Fermée" ]; then
        maj_capteur DOAtelier Off $AlarmeSomfyDOAtelierIdx
    else
        maj_capteur DOAtelier On $AlarmeSomfyDOAtelierIdx
    fi
    
fi

exit 0
Moet nog wat vertalen her en der :)

Heb een aan/uit switch gemaakt met:
Aan actie: script://somfy.sh --ZoneAOn
Uit actie: script://somfy.sh --AlarmeOff

[Voor 100% gewijzigd door MikeyMan op 08-02-2020 18:52]


  • Lux_Gamer
  • Registratie: april 2014
  • Laatst online: 09:15
Peutpeut schreef op zaterdag 8 februari 2020 @ 07:53:
[...]


Als het lukt is het misschien makkelijker als je een screenshot van je blockly plaatst. Of, als je toch net begonnen bent, blockly overslaan en meteen met dZvents aan de slag. Vroeg of laat loop je tegen de beperkingen aan van blockly.
Bedankt voor je reactie, hierbij de screenshot. heb niet alle twee de if statements ter gelijkertijd actief maar dit geeft het makkelijker weer.
https://i.imgur.com/7mRuyPF.png

Ik heb net dZvents bekeken en leek me niet echt gebruiksvriendelijk tegenover blockly, ik begin me net een beetje wegwijs te maken in c/c++ (Arduino) om nu nog een programmeertaal erbij te nemen.

Ik neem aan dat een lichtje aanzetten bij zonsondergang niet te geavanceerd is voor blockly, graag zou ik dit voor simpele dingen willen gebruiken.

hopelijk kan iemand me doormiddel van de geposte screenshots helpen.

alvast bedankt.

[Voor 9% gewijzigd door Lux_Gamer op 08-02-2020 18:45]


  • Knielen
  • Registratie: december 2009
  • Laatst online: 13:06
@MikeyMan tip voor de volgende keer: gebruik ook quote tags bij zulke lappen code, hoeft niet iedereen langs 861 regels heen te scrollen

Xiaomi Mi Note 3 | Galaxy Tab A 10.5


  • bvsteyn
  • Registratie: november 2003
  • Laatst online: 12:52
Heb al een tijdje een RPI 3B+ draaien en laatst een kapotte SD kaart. Dus alle opnieuw geïnstalleerd en nu draait het weer naar behoren. Direct de backups ook maar ingeregeld, want kost wel heel veel tijd om alles weer te installeren en uit te zoeken.

Vandaag ook nog mijn oude RPI 1 uit 2012 (via Farnell besteld destijds) onder het stof vandaag gehaald. De UniFi controller daarop installeren was een slecht idee..niet vooruit te branden..
Maar PiHole draait er prima op. Dus is ie gelijk van nut. Iemand nog tips om meer te doen met dit oude beestje?

Nu maar op zoek naar een RPI 4 om als main Domoticz device te gaan inrichten. De 3B+ zal dan mijn testdevice worden en om Action pluggen te flashes of zo..

  • Chrisje1983
  • Registratie: februari 2012
  • Laatst online: 10:58
Een raspberry pi 3b+ is toch meer dan snel genoeg voor domoticz? Ik zou die rp 4 juist gaan gebruiken om nieuwe dingen mee te testen die wel wat meer power kunnen gebruiken, bijvoorbeeld als NAS.

Mijn raspberry pi 3 draait vlekkeloos domoticz met honderden sensors en een hele hoop relays op wifi, z-wave en IR door heel het huis en niks geen problemen, cpu zwabbert een beetje tussen de 1% en 3% met spikes naar hooguit 10% tot 11%.

Een raspberry 3b+ gebruiken om esp boardjes te flashen is een beetje zonde van de rb 3b+, daar kun je ook een ftdi boardje van 1,50 euro voor gebruiken.

Toen ik hiermee begon (begin 2018) kwam iets later de pi 3b+ uit en vond ik het eerst jammer dat ik niet had gewacht, totdat ik de specs zag en de pi 3b+ dus meer stroom verbruikt. Mijn modem, routers, nassen en pi's hangen allemaal aan UPS systemen zodat de boel een paar uur in de lucht blijft bij totale stroom uitval, zuiniger is beter.

De pi 4 zal nog meer verbruiken, beetje zonde als je zijn resources niet benut en hij wel 24/7 aanstaat. Daarnaast, ik geloof dat de pi4 nog niet helemaal alles ondersteunt binnen domoticz (z-wave)

Ik heb zelf uiteindelijk een pi 3b+ ingericht met retropi maar dat gebruik ik bijna niet, die gaat dan ook tezijnertijd verhuizen naar de 3d printer (octoprint).
Had ook nog een extra pi3 draaien met pihole, maar pihole is een weekje geleden verhuisd naar een docker in de nas, die pi 3 houd ik nu reserve mocht de pi3 met domoticz dood zijn, dan ben ik met 30 seconden weer in de lucht.

Toch het blijven leuke dingen die pi's, ik heb nog een pi zero-w in de toercaravan die de boiler, verwarming, verlichting, audio instalatie, tv, alarm, rookmelders, koelkast en watertank controleert/stuurt.

https://www.domoticz.com/forum/viewtopic.php?t=28919
tsjoender schreef op zaterdag 8 februari 2020 @ 09:09:
[...]


Je kunt de output door grep, awk en of sed halen en zo alles wat je niet nodig hebt wegfilteren. Deze tooltjes zitten in iedere Linux distro. Genoeg voorbeelden online voor de syntax. Verder zou je jq kunnen gebruiken als parser, maar die is niet altijd als package beschikbaar, maar volgens mij wel met apt te installeren onder Raspbian.
nou, voila....dit is hem geworden:
Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
# Description:  Script to send DS18b20 temperature sensors to Domoticz
#               Including fail safe to reset GPIO pins if sensors are not recognized
# Author:       fabstar81
# Date:         08-02-2020

# Variabels
TOKEN=blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatttt
CHAT_ID=blaaaaaaaaaaaaaaaatttt
MESSAGE1="Sensors weer gevonden, temperaturen worden doorgegeven"
MESSAGE2="Sensors niet gevonden, GPIO pins worden herstart"
URL="https://api.telegram.org/bot$TOKEN/sendMessage"

# Sensors
# Temperatuur - ZB koudwater in
echo "Temperatuur - ZB koudwater in"
if [ -f "/sys/bus/w1/devices/28-01143b8e6caa/w1_slave" ]
        then
        TEMP=$(cat /sys/bus/w1/devices/28-01143b8e6caa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
        if [ $TEMP -gt 0 ]
                then
                status=`curl -m 60 -s -i -H "Accept: application/json" "http://192.168.69.200:8080/json.htm?type=devices&rid=795" | grep "Status"| awk -F: '{print $2}'|sed 's/,//'| sed 's/\"//g'`
                echo "Error switch temperaturen in Domoticz =" $status "en we gaan doorrr met het uitlezen van de temperaturen en pushen naar Domoticz"
                if [ $status = "On" ]
                        then
                        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=switchlight&idx=795&switchcmd=Off"
                        curl -s -X POST $URL -d chat_id=$CHAT_ID -d text="$MESSAGE1"
                fi
                VAR=$(echo "scale=2; $TEMP/1000" | bc)
                echo $VAR > /tmp/temptemp4.txt
                curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=709&nvalue=0&svalue=$VAR"
                echo $VAR
        else
                status=`curl -m 60 -s -i -H "Accept: application/json" "http://192.168.69.200:8080/json.htm?type=devices&rid=795" | grep "Status"| awk -F: '{print $2}'|sed 's/,//'| sed 's/\"//g'`
                echo $status
                if [ $status = "Off" ]
                        then
                        echo "Error switch temperaturen in Domoticz =" $status "en we gaan door met het resetten van de GPIO pins, in de tussentijd wordt de oude waarde naar Domoticz gestuurd"
                        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=switchlight&idx=795&switchcmd=On"
                        curl -s -X POST $URL -d chat_id=$CHAT_ID -d text="$MESSAGE2"
                        
                        echo "4" >/sys/class/gpio/unexport # vrijgeven van GPIO
                        echo "4" >/sys/class/gpio/export
                        echo "out" >/sys/class/gpio/gpio4/direction
                        sleep 1
                        echo "0" >/sys/class/gpio/gpio4/value
                        sleep 1
                        echo "4" >/sys/class/gpio/unexport
                fi
                TMP=$(cat /tmp/temptemp4.txt)
                curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=709&nvalue=0&svalue=$TMP"
        fi
else
        status=`curl -m 60 -s -i -H "Accept: application/json" "http://192.168.69.200:8080/json.htm?type=devices&rid=795" | grep "Status"| awk -F: '{print $2}'|sed 's/,//'| sed 's/\"//g'`
        echo $status
        if [ $status = "Off" ]
                then
                echo "Error switch temperaturen in Domoticz =" $status "en we gaan door met het resetten van de GPIO pins, in de tussentijd wordt de oude waarde naar Domoticz gestuurd"
                curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=switchlight&idx=795&switchcmd=On"
                curl -s -X POST $URL -d chat_id=$CHAT_ID -d text="$MESSAGE2"
                
                echo "4" >/sys/class/gpio/unexport # vrijgeven van GPIO
                echo "4" >/sys/class/gpio/export
                echo "out" >/sys/class/gpio/gpio4/direction
                sleep 1
                echo "0" >/sys/class/gpio/gpio4/value
                sleep 1
                echo "4" >/sys/class/gpio/unexport
        fi
        TMP=$(cat /tmp/temptemp4.txt)
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=709&nvalue=0&svalue=$TMP"
fi

# Temperatuur - ZB midden
echo "Temperatuur - ZB midden"
if [ -f "/sys/bus/w1/devices/28-01143b7a42aa/w1_slave" ]
then
    TEMP=$(cat /sys/bus/w1/devices/28-01143b7a42aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
    if [ $TEMP -gt 0 ]
        then
        VAR=$(echo "scale=2; $TEMP/1000" | bc)
        echo $VAR > /tmp/temptemp5.txt
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=707&nvalue=0&svalue=$VAR"
        echo $VAR
    else
        TMP=$(cat /tmp/temptemp5.txt)
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=707&nvalue=0&svalue=$TMP"
    fi
else
    TMP=$(cat /tmp/temptemp5.txt)
    curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=707&nvalue=0&svalue=$TMP"
fi

# Temperatuur - ZB boven
echo "Temperatuur - ZB boven"
if [ -f "/sys/bus/w1/devices/28-01143b8984aa/w1_slave" ]
    then
    TEMP=$(cat /sys/bus/w1/devices/28-01143b8984aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
    if [ $TEMP -gt 0 ]
        then
        VAR=$(echo "scale=2; $TEMP/1000" | bc)
        echo $VAR > /tmp/temptemp6.txt
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=708&nvalue=0&svalue=$VAR"
        echo $VAR
    else
        TMP=$(cat /tmp/temptemp6.txt)
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=708&nvalue=0&svalue=$TMP"
    fi
else
    TMP=$(cat /tmp/temptemp6.txt)
    curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=708&nvalue=0&svalue=$TMP"
fi

# Temperatuur - ZB koudwater uit
echo "Temperatuur - ZB koudwater uit"
if [ -f "/sys/bus/w1/devices/28-01143bf2f4aa/w1_slave" ]
    then
    TEMP=$(cat /sys/bus/w1/devices/28-01143bf2f4aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
    if [ $TEMP -gt 0 ]
        then
        VAR=$(echo "scale=2; $TEMP/1000" | bc)
        echo $VAR > /tmp/temptemp7.txt
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=713&nvalue=0&svalue=$VAR"
        echo $VAR
    else
        TMP=$(cat /tmp/temptemp7.txt)
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=713&nvalue=0&svalue=$TMP"
    fi
else
    TMP=$(cat /tmp/temptemp7.txt)
    curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=713&nvalue=0&svalue=$TMP"
fi

# Temperatuur - e-boiler uit
echo "Temperatuur - e-boiler uit"
if [ -f "/sys/bus/w1/devices/28-000004e09c32/w1_slave" ]
    then
    TEMP=$(cat /sys/bus/w1/devices/28-000004e09c32/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
    if [ $TEMP -gt 0 ]
        then
        VAR=$(echo "scale=2; $TEMP/1000" | bc)
        echo $VAR > /tmp/temptemp8.txt
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=689&nvalue=0&svalue=$VAR"
        echo $VAR
    else
        TMP=$(cat /tmp/temptemp8.txt)
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=689&nvalue=0&svalue=$TMP"
    fi
else
    TMP=$(cat /tmp/temptemp8.txt)
    curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=689&nvalue=0&svalue=$TMP"
fi

# Temperatuur - CV SWW
echo "Temperatuur - CV SWW"
if [ -f "/sys/bus/w1/devices/28-01143bbef9aa/w1_slave" ]
    then
    TEMP=$(cat /sys/bus/w1/devices/28-01143bbef9aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
    if [ $TEMP -gt 0 ]
        then
        VAR=$(echo "scale=2; $TEMP/1000" | bc)
        echo $VAR > /tmp/temptemp3.txt
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=716&nvalue=0&svalue=$VAR"
        echo $VAR
    else
        TMP=$(cat /tmp/temptemp3.txt)
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=716&nvalue=0&svalue=$TMP"
    fi
else
    TMP=$(cat /tmp/temptemp3.txt)
    curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=716&nvalue=0&svalue=$TMP"
fi

# Temperatuur - CV-aanvoer ketel
echo "Temperatuur - CV-aanvoer ketel"
if [ -f "/sys/bus/w1/devices/28-0319a2791c18/w1_slave" ]
    then
    TEMP=$(cat /sys/bus/w1/devices/28-0319a2791c18/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
    if [ $TEMP -gt 0 ]
        then
        VAR=$(echo "scale=2; $TEMP/1000" | bc)
        echo $VAR > /tmp/temptemp1.txt
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=766&nvalue=0&svalue=$VAR"
        echo $VAR
    else
        TMP=$(cat /tmp/temptemp1.txt)
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=766&nvalue=0&svalue=$TMP"
    fi
else
    TMP=$(cat /tmp/temptemp1.txt)
    curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=766&nvalue=0&svalue=$TMP"
fi

# Temperatuur - CV retour voor 3-wegklep
echo "Temperatuur - CV retour voor 3-wegklep"
if [ -f "/sys/bus/w1/devices/28-01143be06daa/w1_slave" ]
    then
    TEMP=$(cat /sys/bus/w1/devices/28-01143be06daa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
    if [ $TEMP -gt 0 ]
        then
        VAR=$(echo "scale=2; $TEMP/1000" | bc)
        echo $VAR > /tmp/temptemp2.txt
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=715&nvalue=0&svalue=$VAR"
        echo $VAR
    else
        TMP=$(cat /tmp/temptemp2.txt)
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=715&nvalue=0&svalue=$TMP"
    fi
else
    TMP=$(cat /tmp/temptemp2.txt)
    curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=715&nvalue=0&svalue=$TMP"
fi

# Temperatuur - ZB CV-retour in
echo "Temperatuur - ZB CV-retour in"
if [ -f "/sys/bus/w1/devices/28-01143ba404aa/w1_slave" ]
    then
    TEMP=$(cat /sys/bus/w1/devices/28-01143ba404aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
    if [ $TEMP -gt 0 ]
        then
        VAR=$(echo "scale=2; $TEMP/1000" | bc)
        echo $VAR > /tmp/temptemp10.txt
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=712&nvalue=0&svalue=$VAR"
        echo $VAR
    else
        TMP=$(cat /tmp/temptemp10.txt)
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=712&nvalue=0&svalue=$TMP"
    fi
else
    TMP=$(cat /tmp/temptemp10.txt)
    curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=712&nvalue=0&svalue=$TMP"
fi

# Temperatuur - ZB CV-retour uit
echo "Temperatuur - ZB CV-retour uit"
if [ -f "/sys/bus/w1/devices/28-01143bed48aa/w1_slave" ]
    then
    TEMP=$(cat /sys/bus/w1/devices/28-01143bed48aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
    if [ $TEMP -gt 0 ]
        then
        VAR=$(echo "scale=2; $TEMP/1000" | bc)
        echo $VAR > /tmp/temptemp12.txt
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=714&nvalue=0&svalue=$VAR"
        echo $VAR
    else
        TMP=$(cat /tmp/temptemp12.txt)
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=714&nvalue=0&svalue=$TMP"
    fi
else
    TMP=$(cat /tmp/temptemp12.txt)
    curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=714&nvalue=0&svalue=$TMP"
fi

# Temperatuur - ZB collector aanvoer
echo "Temperatuur - ZB collector aanvoer"
if [ -f "/sys/bus/w1/devices/28-01143b9b60aa/w1_slave" ]
    then
    TEMP=$(cat /sys/bus/w1/devices/28-01143b9b60aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
    if [ $TEMP -gt 0 ]
        then
        VAR=$(echo "scale=2; $TEMP/1000" | bc)
        echo $VAR > /tmp/temptemp9.txt
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=711&nvalue=0&svalue=$VAR"
        echo $VAR
    else
        TMP=$(cat /tmp/temptemp9.txt)
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=711&nvalue=0&svalue=$TMP"
    fi
else
    TMP=$(cat /tmp/temptemp9.txt)
    curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=711&nvalue=0&svalue=$TMP"
fi

# Temperatuur - ZB collector retour
echo "Temperatuur - ZB collector retour"
if [ -f "/sys/bus/w1/devices/28-01143b9939aa/w1_slave" ]
    then
    TEMP=$(cat /sys/bus/w1/devices/28-01143b9939aa/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-)
    if [ $TEMP -gt 0 ]
        then
        VAR=$(echo "scale=2; $TEMP/1000" | bc)
        echo $VAR > /tmp/temptemp11.txt
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=710&nvalue=0&svalue=$VAR"
        echo $VAR
    else
        TMP=$(cat /tmp/temptemp11.txt)
        curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=710&nvalue=0&svalue=$TMP"
    fi
else
    TMP=$(cat /tmp/temptemp11.txt)
    curl --connect-timeout 60 "http://192.168.69.200:8080/json.htm?type=command&param=udevice&idx=710&nvalue=0&svalue=$TMP"
fi

hij draait goed in de happy flow...maar nu ben ik benieuwd hoe die gaat als de sensors niet herkend worden....
dan zou de GPIO pin 4 herstart moeten worden, ook een dummy switch in Domoticz geflipt moeten worden, en er zou dan een message naar mijn telegram gaan.

pfieuw....

ben benieuwd :) volgens de statistieken zou ik ongeveer om de dag de pins moeten resetten. dat deed ik eerst handmatig om de dag...nu zou het script dit moeten oplossen....

we gaan het meemaken :+

[Voor 3% gewijzigd door fabstar81 op 08-02-2020 23:29]

făbŞŤĄŘ - Mijn PC


  • MikeyMan
  • Registratie: februari 2003
  • Laatst online: 14:44

MikeyMan

Vidi, Vici, Veni

Toppe schreef op zaterdag 8 februari 2020 @ 20:13:
[...]


Dit... en welke taal is dit? Hier snapt niemand wat van :9
Frans... Tsjah niet mijn keuze, ga ik nog wel omkatten.

Maar bash kunnen sommigen hier wel toch :P

  • Dacuuu
  • Registratie: maart 2009
  • Laatst online: 14:23
Toppe schreef op zondag 9 februari 2020 @ 09:15:
Krijg net de eind afrekening van de energiemaatschappij. Krijg toch even €1487 terug :*)

(Voorschot staat op €150, uiteindelijk €3xx daadwerkelijk verbruikt)

Toch leuk om deze info bij te houden met Domoticz
Waarom zou je elke maand zoveel te veel betalen? Ik zorg altijd dat ik net te veel betaal, zodat ik max €100 terug krijg. Probleem is ook met zo'n mega voorschot is dat als je energiemaatschappij failliet gaat, je voorschot weg is.

En ja energiemaatschappijen gaan failliet...

Afhandeling faillissement EnergieFlex


https://nos.nl/l/2305075

https://www.rtlz.nl/life/...-faillissementen-minister

Mijn Youtube reviews: https://www.youtube.com/user/BartjuhB/videos


  • Copitano
  • Registratie: februari 2018
  • Laatst online: 01:35

Copitano

Hoorn NH

@Wiley99 Is het de bedoeling dat alle backups van influx achter elkaar worden geplakt?
Zo loopt de backup stick erg snel vol met data. Moet een nieuwe backup niet gewoon over de bestaande weggeschreven worden?
-rw------- 1 root root  146365 feb  8 02:01 20200208T010042Z.s6.tar.gz
-rw------- 1 root root 1060445 feb  8 02:01 20200208T010042Z.s74.tar.gz
-rw------- 1 root root 1163925 feb  8 02:01 20200208T010042Z.s82.tar.gz
-rw------- 1 root root 1246383 feb  8 02:01 20200208T010042Z.s90.tar.gz
-rw------- 1 root root 2008443 feb  8 02:01 20200208T010042Z.s98.tar.gz
-rw------- 1 root root   34798 feb  9 02:02 20200209T010038Z.manifest
-rw-r--r-- 1 root root    6612 feb  9 02:00 20200209T010038Z.meta
-rw------- 1 root root 1450384 feb  9 02:01 20200209T010038Z.s106.tar.gz
-rw------- 1 root root  674057 feb  9 02:01 20200209T010038Z.s10.tar.gz
-rw------- 1 root root 1124296 feb  9 02:01 20200209T010038Z.s114.tar.gz
-rw------- 1 root root 1116737 feb  9 02:01 20200209T010038Z.s122.tar.gz
-rw------- 1 root root 1133323 feb  9 02:02 20200209T010038Z.s130.tar.gz
-rw------- 1 root root 1148829 feb  9 02:02 20200209T010038Z.s138.tar.gz
 

Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+

Dacuuu schreef op zondag 9 februari 2020 @ 09:34:
[...]


Waarom zou je elke maand zoveel te veel betalen? Ik zorg altijd dat ik net te veel betaal, zodat ik max €100 terug krijg. Probleem is ook met zo'n mega voorschot is dat als je energiemaatschappij failliet gaat, je voorschot weg is.

En ja energiemaatschappijen gaan failliet...

Afhandeling faillissement EnergieFlex


https://nos.nl/l/2305075

https://www.rtlz.nl/life/...-faillissementen-minister
Nooit zo echt over nagedacht. Tuurlijk kan het voorschot bedrag wel naar beneden, echter hoef ik me nu weinig zorgen te maken over het verbruik.

Gek genoeg heb ik totaal 3200kWh aan panelen op het dak liggen en hebben we nu minder dan 2000 kWh verbruikt :+

MacBook Pro Retina 13" 2018  iPhone Xs Max  Apple Watch Series 4  2x Apple TV 4  Stereopair HomePods

Copitano schreef op zondag 9 februari 2020 @ 12:28:
@Wiley99 Is het de bedoeling dat alle backups van influx achter elkaar worden geplakt?
Zo loopt de backup stick erg snel vol met data. Moet een nieuwe backup niet gewoon over de bestaande weggeschreven worden?
-rw------- 1 root root  146365 feb  8 02:01 20200208T010042Z.s6.tar.gz
-rw------- 1 root root 1060445 feb  8 02:01 20200208T010042Z.s74.tar.gz
-rw------- 1 root root 1163925 feb  8 02:01 20200208T010042Z.s82.tar.gz
-rw------- 1 root root 1246383 feb  8 02:01 20200208T010042Z.s90.tar.gz
-rw------- 1 root root 2008443 feb  8 02:01 20200208T010042Z.s98.tar.gz
-rw------- 1 root root   34798 feb  9 02:02 20200209T010038Z.manifest
-rw-r--r-- 1 root root    6612 feb  9 02:00 20200209T010038Z.meta
-rw------- 1 root root 1450384 feb  9 02:01 20200209T010038Z.s106.tar.gz
-rw------- 1 root root  674057 feb  9 02:01 20200209T010038Z.s10.tar.gz
-rw------- 1 root root 1124296 feb  9 02:01 20200209T010038Z.s114.tar.gz
-rw------- 1 root root 1116737 feb  9 02:01 20200209T010038Z.s122.tar.gz
-rw------- 1 root root 1133323 feb  9 02:02 20200209T010038Z.s130.tar.gz
-rw------- 1 root root 1148829 feb  9 02:02 20200209T010038Z.s138.tar.gz
 
Bij mij gebeurt dat ook. Ik schrijf ze af en toe naar een grotere USB drive en verwijder ze van de stick. Als je altijd een full backup doet kun je de oudste ook weggooien. Ik bewaar een wat langere periode ingeval ik pas na een week merk dat er iets mis gegaan is, dan kun je een week terug. Als je alleen de laatste backup hebt is die dan ook al een week kapot...

A polar bear is a rectangular bear after a coordinate transform

Copitano schreef op zondag 9 februari 2020 @ 12:28:
@Wiley99 Is het de bedoeling dat alle backups van influx achter elkaar worden geplakt?
Zo loopt de backup stick erg snel vol met data. Moet een nieuwe backup niet gewoon over de bestaande weggeschreven worden?
-rw------- 1 root root  146365 feb  8 02:01 20200208T010042Z.s6.tar.gz
-rw------- 1 root root 1060445 feb  8 02:01 20200208T010042Z.s74.tar.gz
-rw------- 1 root root 1163925 feb  8 02:01 20200208T010042Z.s82.tar.gz
-rw------- 1 root root 1246383 feb  8 02:01 20200208T010042Z.s90.tar.gz
-rw------- 1 root root 2008443 feb  8 02:01 20200208T010042Z.s98.tar.gz
-rw------- 1 root root   34798 feb  9 02:02 20200209T010038Z.manifest
-rw-r--r-- 1 root root    6612 feb  9 02:00 20200209T010038Z.meta
-rw------- 1 root root 1450384 feb  9 02:01 20200209T010038Z.s106.tar.gz
-rw------- 1 root root  674057 feb  9 02:01 20200209T010038Z.s10.tar.gz
-rw------- 1 root root 1124296 feb  9 02:01 20200209T010038Z.s114.tar.gz
-rw------- 1 root root 1116737 feb  9 02:01 20200209T010038Z.s122.tar.gz
-rw------- 1 root root 1133323 feb  9 02:02 20200209T010038Z.s130.tar.gz
-rw------- 1 root root 1148829 feb  9 02:02 20200209T010038Z.s138.tar.gz
 
Ik kan me voorstellen dat je juist enkele backups wilt bewaren.

Voor de snapshots die m'n deurbel maakt heb ik onderstaande regel, waarbij de laatste 30 snapshots bewaard blijven en de oudere worden verwijderd. Misschien kun je onderstaande regel aanpassen naar wens en in het bash script verwerken die aangeroepen wordt:
#Preserve only the last 30 snapshots
ls -d -1tr /home/pi/images/* | head -n -30 | xargs -d '\n' rm -f

¯\_(ツ)_/¯

Pagina: 1 ... 78 ... 88 Laatste


Apple iPhone 11 Microsoft Xbox Series X LG OLED C9 Google Pixel 4 CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True