Hallo, Habe es vielleicht nur überlesen, doch wie schaltet ihr die Anlage scharf bzw unscharf? Ich meine wenn ich zu hause bin und die Tür öffne möchte ich ja nicht jedes mal eine Nachricht /Bild bekommen von da wo ich die Tür öffne und jemand rein lasse
Alarmanlage - Magnetkontakte auslesen und speichern - Webserver Interface
Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
-
-
Alarmanlage - Magnetkontakte auslesen und speichern - Webserver Interface? Schau mal ob du hier fündig wirst!
-
Hallo,
Beim mir kommt die Meldung
[FAIL] Reloading web server configuration: lighttpd failed!
wenn ich den Befehl:sudo service lighttpd force-reload eingebe.
Danke für die Hilfe!!
Grüsse -
Vielen Dank für das schöne Tutorial!
Eine Anmerkung zur Hardware habe ich aber:
Da sicherlich nicht neben jedem Reedkontakt ein RPi hängt, müssen die Leitungen zu den Reedkontakten folglich etwas länger sein. Im Falle der Reihenschaltung gibt es sogar eine große Schleife. Du hast nun geschrieben, dass die Kontakte direkt an die GPIOs angeschlossen werden soll. So lange Leitungen und eine solche Schleife ist aber auch eine Antenne für alle möglichen Störungen. Wie wird verhindert, dass eine zu hohe Spannung (nur > 3,3V! ) an den hochohmigen Eingängen induziert wird und die GPIOs bzw. den ganzen RPi zerstört?
Marcus -
- Offizieller Beitrag
So lang waren meine Leitungen nicht und hatte noch keine Schwierigkeiten.
Hast du einen Tipp wie man es einfach absichern kann? -
Mit einer Zehnerdiode und einem Widerstand Überspannungen verhindern?
http://www.thebox.myzen.co.uk/Raspberry/Breakout.html
http://www.roboternetz.de/community/thre…eines-GPIO-Pins
Sollte im ersten Bild des Tutorials nicht der gemeinsame Anschluss beider Reedkontakt wie im Text beschrieben auch an GND angeschlossen sein? Die Linie im Bild geht auf SCL.Marcus
-
- Offizieller Beitrag
Sollte im ersten Bild des Tutorials nicht der gemeinsame Anschluss beider Reedkontakt wie im Text beschrieben auch an GND angeschlossen sein? Die Linie im Bild geht auf SCL.Da ist mir ein Fehler unterlaufen. Habe es im ersten Beitrag geändert! Danke!
-
Da ist mir ein Fehler unterlaufen. Habe es im ersten Beitrag geändert! Danke!
Hallo...
Ich finde die Anleitung super und habe sie direkt nachgebaut. Es funktionier auch alles ohne Probleme!
ich frage mich nun ob man das für die Fenster auch als "Erinnerung" nutzen kann. Z.B. das z.B. 15 Minuten wenn ein Fenster geöffnet aber nicth wieder geschlossen wurde, das man dann eine Mail erhält oder so. Leider bin ich in Python nicht fit genug...
Gruß,
rasper -
Niemand eine Idee wie das zu lösen wäre?
-
Wie lang darf das Kabel sein zu den Kontakten?
-
- Offizieller Beitrag
Die Lösung ist nicht schwer, die Möglichkeiten nahezu unbegrenzt. Von Mail/SMS/Whatsapp/Android Push/ ist alles Möglich. Du schreibst die Zeit der Zustandsänderung mit in DB (bei offen). Dann fragst du in jedem Durchgang alle offenen Kontake ab und prüfst ob (Jetzt-Speicherzeit)>=15min ist. Wenn ja alarmiere. Das wurde hier in verschiedenen Projekten schon mehr oder weniger Ausführlich umgesetzt (auch in python, wenn ich mich recht erinnere).
Auf jedenfall ist das ne schöne Sache um mit Programmieren anzufangen
-
Danke für deine Antwort. Genauso dachte ich mir das auch, nur bekomme ich immer eine Fehlermeldung und verstehe nicht wieso.
Ich lese die Zeit der Änderung aus der DB mittels
Code
Alles anzeigencon = lite.connect(db) with con: cur = con.cursor() cur.execute("SELECT time FROM tbl_log WHERE message = 'geoeffnet' ORDER BY ID DESC LIMIT 1;") data = cur.fetchone() print time.time() print data # check if time.time() - data > 59: print "it's been a minute"
Und dabei raus kommt
Code1390140061.02 (1390130574,) Traceback (most recent call last): File "time.py", line 21, in <module> if time.time() - data > 59: TypeError: unsupported operand type(s) for -: 'float' and 'tuple'
So in der Art wollte ich es lösen. Zumindest so erst mal testen...
-
- Offizieller Beitrag
eigentlich ganz einfach ;).
time.time() returned ein float
data returned ein tuplefloat - tuple geht natürlich nicht.
ein time.time() - data[0] sollte funktionieren.
-
Danke dir! Damit hat es nun geklappt.
-
Wie viele Magnet-Kontakte können an ein raspberry pi b , und wo müssten sie dann angesteckt werden ?:s
-
an die GPIO Pins. Wenn du sie in Reihe schaltest sind dir glaube ich keine Grenzen gesetzt... Dann kannst du allerdings nicht sehen wo der Alarm her kommt. Auf die schnelle wenn die Parallel sind kannst du glaube ich min. 17 anschließen (korrigiert mich wenn ich falsch liege)
-
Hat denn mitlerweile jemand eine Schalter oder übers Web die möglichkeit die Anlage scharf zu schalten und kann es eventuell erklären wie?
-
Ich habe versucht eine LED einzubinden sie Leuchten und dann bricht das Programm ab.
Code
Alles anzeigen# https://www.forum-raspberrypi.de import time import RPi.GPIO as GPIO import sqlite3 as lite import sys GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) GPIO.setup(11, GPIO.OUT) # Eingaenge fuer Tuer Kontakte REED_01 = 19 REED_02 = 21 # 1 = scharf gestellt = 1 # 0 = nicht scharf gestellt REED_01_on = 1 REED_02_on = 0 # Tuer Kontakte als INPUT einstellen GPIO.setup(REED_01, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(REED_02, GPIO.IN, pull_up_down=GPIO.PUD_UP) # cs = Current State # ps = Previous Stade cs_01 = 0 # REED 01 ps_01 = 0 cs_02 = 0 # REED 02 ps_02 = 0 while True: ts = time.time() #Pfad zu SQlite 3 Datenbank db = "database.db" # REED 01 START cs_01 = GPIO.input(REED_01) # KONTAKT -> GEOEFFNET if cs_01 == 1 and ps_01 == 0 and REED_01_on != 1: print "Tuer 1 offen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Tuer 1','geoeffnet')" % (ts) ) ps_01=1 # KONTAKT -> ALARM elif cs_01 == 1 and ps_01 == 0 and REED_01_on == 1: print "Tuer 1 ALARM" con = lite.connect(db) with con: cur = GPIO.output(11, GPIO.HIGH) cur.execute("INSERT INTO tbl_log values(null, %d, 'Tuer 1','Alarm')" % (ts) ) #Email,SMS,Anruf,Sirene,Foto oder Video aufnehmen ps_01=1 # KONTAKT -> geschlossen elif cs_01==0 and ps_01 == 1: print "Tuer 1 geschlossen" con = lite.connect(db) with con: cur = GPIO.output(11, GPIO.LOW) cur.execute("INSERT INTO tbl_log values(null, %d, 'Tuer 1','geschlossen')" % (ts) ) ps_01=0 # REED 01 ENDE # REED 02 START cs_02 = GPIO.input(REED_02) # KONTAKT -> GEOEFFNET if cs_02 == 1 and ps_02 == 0 and REED_02_on != 1: print "Tuer 2 offen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Fenster','geoeffnet')" % (ts) ) ps_02=1 # KONTAKT -> ALARM elif cs_02 == 1 and ps_02 == 0 and REED_02_on == 1: print "Tuer 2 ALARM" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Fenster','Alarm')" % (ts) ) #Email,SMS,Anruf,Sirene,Foto oder Video aufnehmen ps_02=1 # KONTAKT -> geschlossen elif cs_02==0 and ps_02 == 1: print "Tuer 2 geschlossen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Fenster','geschlossen')" % (ts) ) ps_02=0 # REED 02 ENDE # massive CPU-Auslastung verhindern time.sleep(0.01) [code]
-
Hallo,
zunächst danke für das Tutorial. Es ist genau das, was ich gesucht hatte.
Jetzt muss ich es nur noch in der gesamten Tiefe verstehen und nachbauen.
Habe sowas noch nie gebastelt.Ich möchte zumindest ersteinmal mit einem Magnetschalter anfangen.
Aktuell habe ich nichts, außer einen RPI. Was muss ich sonst noch kaufen?
Im Tutorial sind einige Komponenten verlinkt, leider sind diese teils nicht mehr lieferbar.Meine Frage daher: besteht die Möglichkeit, dass hier noch mal alle Produkte aufgeführt werden, die man benötigt und die auch noch lieferbar sind? Am besten so, dass man sie gleich in den Einkaufswagen packen kann.
Loht es, sich auf einen Shop zu fokussieren (Amazon, Conrad, etc?)
ZitatHat denn mitlerweile jemand eine Schalter oder übers Web die möglichkeit die Anlage scharf zu schalten und kann es eventuell erklären wie?
Mein Vorschlag beim Web wäre übrigens, nur über das LAN Zugriff auf seine Alarmanlage zu haben und von "außerhalb" oder Funk lediglich per VPN zuzugreifen.
Viele Grüße,
Brn -
So, jetzt melde ich mich mal zu Wort
Ich habe den Code soweit angepasst, dass ich 6 Reed Kontakte und einen Schalter zum Scharf/Unscharf anschließen bzw. ansteuern kann.
Kurze Erklärung:
Falls der Schalter "Scharf stellen" geschlossen ist (GND nach GPIO Pin 7) werden die Reed Kontakte scharf gestellt und bei geöffnetem Kontakt wird eine Email versandt. Eine Eintragung in die Tabelle (Scharf oder Unscharf) erfolgt ebenso.Wenn der Schalter geöffnet ist, also "Unscharf" - werden die Reed Kontakte zwar aktiviert, und es wird auch eine Meldung angezeigt, allerdings wird keine Email verschickt. Dafür aber in die MySQL Tabelle eingetragen
Das nächste was ich einbauen möchte, ist die Funktion Scharf/Unscharf per Web zu realisieren. Ich denke das ich heute Abend damit fertig bin
Alles funktioniert einwandfrei - danke an die kreativen Köpfe die das entwickelt haben !
Python
Alles anzeigen# https://www.forum-raspberrypi.de username = '************@gmail.com' password = '**********' From = "*********@gmail.com" To = "***********@gmail.com" Subject_reed1 = "Der Hintereingang wurde geoeffnet!" Body_reed1 = "Einbrecher im Haus" Subject_reed2 = "Das Fenster im Waschkeller wurde geoeffnet!" Body_reed2 = "Einbrecher im Haus" Subject_reed3 = "Das Fenster im Fahrradkeller wurde geoeffnet!" Body_reed3 = "Einbrecher im Haus" Subject_reed4 = "Das Fenster im Heizungskeller wurde geoeffnet!" Body_reed4 = "Einbrecher im Haus" Subject_reed5 = "Das Fenster in der Werkstatt wurde geoeffnet!" Body_reed5 = "Einbrecher im Haus" Subject_reed6 = "Das Fenster in der Abstellkammer wurde geoeffnet!" Body_reed6 = "Einbrecher im Haus" import smtplib from email.mime.text import MIMEText import string import time import RPi.GPIO as GPIO import sqlite3 as lite import sys GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) # Eingaenge fuer Tuer Kontakte REED_01 = 19 #Hintereingang REED_02 = 21 #Fenster Waschkeller REED_03 = 22 #Fenster Fahrradkeller REED_04 = 23 #Fenster Heizungskeller REED_05 = 24 #Fenster Werkstatt REED_06 = 26 #Fenster Abstellkammer SCHARF_01 = 7 #Schalter, Alarmanlage Scharf/Unscharf # Reed Kontakte und Scharf-Schalter als INPUT einstellen GPIO.setup(REED_01, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(REED_02, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(REED_03, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(REED_04, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(REED_05, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(REED_06, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(SCHARF_01, GPIO.IN, pull_up_down=GPIO.PUD_UP) # cs = Current State # ps = Previous Stade cs_01 = 0 # REED 01 ps_01 = 0 cs_02 = 0 # REED 02 ps_02 = 0 cs_03 = 0 # REED 03 ps_03 = 0 cs_04 = 0 # REED 04 ps_04 = 0 cs_05 = 0 # REED 03 ps_05 = 0 cs_06 = 0 # REED 06 ps_06 = 0 cs_07 = 0 # SCHARF 01 ps_07 = 0 while True: ts = time.time() #Pfad zu SQlite 3 Datenbank db = "database.db" # SCHARF Stellen Anfang cs_07 = GPIO.input(SCHARF_01) if cs_07 == 1 and ps_07 == 0: print "Alarmanlage [AUS]" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Alarmanlage','[AUS]')" % (ts) ) ps_07=1 REED_01_on=0 REED_02_on=0 REED_03_on=0 REED_04_on=0 REED_05_on=0 REED_06_on=0 SCHARF_01_on=0 elif cs_07 == 0 and ps_07 == 1: print "Alarmanlage [AN]" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Alarmanlage','[AN]')" % (ts) ) ps_07=0 REED_01_on=1 REED_02_on=1 REED_03_on=1 REED_04_on=1 REED_05_on=1 REED_06_on=1 SCHARF_01_on=1 # ## # SCHARF Stellen ENDE cs_01 = GPIO.input(REED_01) #REED 01 START # KONTAKT -> GEOEFFNET if cs_01 == 1 and ps_01 == 0 and REED_01_on != 1: print "Der Hintereingang ist offen." con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Hintereingang','geoeffnet')" % (ts) ) ps_01=1 # KONTAKT -> ALARM elif cs_01 == 1 and ps_01 == 0 and REED_01_on == 1 : print "Hintereingang ALARM" print "Emailversand wird vorbereitet...!" Body = string.join(( "From: %s" %From, "To: %s" %To, "", Subject_reed1, Body_reed1, ), "\r\n") server = smtplib.SMTP('smtp.gmail.com:587') server.starttls() print "Einloggen in Googlemail....." server.login(username,password) print "Login als user ********* :"+username+"." server.sendmail(From, [To], Body) server.quit() print "Email wurde verschickt!" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Tuer 1','Alarm')" % (ts) ) #Email,SMS,Anruf,Sirene,Foto oder Video aufnehmen ps_01=1 # KONTAKT -> geschlossen elif cs_01==0 and ps_01 == 1: print "Der Hintereingang ist geschlossen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Hintereingang','geschlossen')" % (ts) ) ps_01=0 # REED 01 ENDE ## # REED 02 START cs_02 = GPIO.input(REED_02) # KONTAKT -> GEOEFFNET if cs_02 == 1 and ps_02 == 0 and REED_02_on != 1: print "Waschkeller offen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Waschkeller','geoeffnet')" % (ts) ) ps_02=1 # KONTAKT -> ALARM elif cs_02 == 1 and ps_02 == 0 and REED_02_on == 1: print "Waschkeller ALARM" print "Emailversand wird vorbereitet...!" Body = string.join(( "From: %s" %From, "To: %s" %To, "", Subject_reed2, Body_reed2, ), "\r\n") server = smtplib.SMTP('smtp.gmail.com:587') server.starttls() print "Einloggen in Googlemail....." server.login(username,password) print "Login als user ********* :"+username+"." server.sendmail(From, [To], Body) server.quit() print "Email wurde verschickt!" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Waschkeller','Alarm')" % (ts) ) #Email,SMS,Anruf,Sirene,Foto oder Video aufnehmen ps_02=1 # KONTAKT -> geschlossen elif cs_02==0 and ps_02 == 1: print "Waschkeller geschlossen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Waschkeller','geschlossen')" % (ts) ) ps_02=0 # REED 02 ENDE ## # # REED 03 START cs_03 = GPIO.input(REED_03) # KONTAKT -> GEOEFFNET if cs_03 == 1 and ps_03 == 0 and REED_03_on != 1: print "Fahrradkeller offen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Fahrradkeller','geoeffnet')" % (ts) ) ps_03=1 # KONTAKT -> ALARM elif cs_03 == 1 and ps_03 == 0 and REED_03_on == 1: print "Fahrradkeller ALARM" print "Emailversand wird vorbereitet...!" Body = string.join(( "From: %s" %From, "To: %s" %To, "", Subject_reed3, Body_reed3, ), "\r\n") server = smtplib.SMTP('smtp.gmail.com:587') server.starttls() print "Einloggen in Googlemail....." server.login(username,password) print "Login als user ********** :"+username+"." server.sendmail(From, [To], Body) server.quit() print "Email wurde verschickt!" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Fahrradkeller','Alarm')" % (ts) ) #Email,SMS,Anruf,Sirene,Foto oder Video aufnehmen ps_03=1 # KONTAKT -> geschlossen elif cs_03==0 and ps_03 == 1: print "Fahrradkeller geschlossen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Fahrradkeller','geschlossen')" % (ts) ) ps_03=0 # REED 03 ENDE # REED 04 START cs_04 = GPIO.input(REED_04) # KONTAKT -> GEOEFFNET if cs_04 == 1 and ps_04 == 0 and REED_04_on != 1: print "Heizungskeller offen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Heizungskeller','geoeffnet')" % (ts) ) ps_04=1 # KONTAKT -> ALARM elif cs_04 == 1 and ps_04 == 0 and REED_04_on == 1: print "Heizungskeller ALARM" print "Emailversand wird vorbereitet...!" Body = string.join(( "From: %s" %From, "To: %s" %To, "", Subject_reed4, Body_reed4, ), "\r\n") server = smtplib.SMTP('smtp.gmail.com:587') server.starttls() print "Einloggen in Googlemail....." server.login(username,password) print "Login als user ******** :"+username+"." server.sendmail(From, [To], Body) server.quit() print "Email wurde verschickt!" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Heizungskeller','Alarm')" % (ts) ) #Email,SMS,Anruf,Sirene,Foto oder Video aufnehmen ps_04=1 # KONTAKT -> geschlossen elif cs_04==0 and ps_04 == 1: print "Heizungskeller geschlossen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Heizungskeller','geschlossen')" % (ts) ) ps_04=0 # REED 04 ENDE # REED 05 START cs_05 = GPIO.input(REED_05) # KONTAKT -> GEOEFFNET if cs_05 == 1 and ps_05 == 0 and REED_05_on != 1: print "Werkstatt offen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Werkstatt','geoeffnet')" % (ts) ) ps_05=1 # KONTAKT -> ALARM elif cs_05 == 1 and ps_05 == 0 and REED_05_on == 1: print "Werkstatt ALARM" print "Emailversand wird vorbereitet...!" Body = string.join(( "From: %s" %From, "To: %s" %To, "", Subject_reed5, Body_reed5, ), "\r\n") server = smtplib.SMTP('smtp.gmail.com:587') server.starttls() print "Einloggen in Googlemail....." server.login(username,password) print "Login als user ********* :"+username+"." server.sendmail(From, [To], Body) server.quit() print "Email wurde verschickt!" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Werkstatt','Alarm')" % (ts) ) #Email,SMS,Anruf,Sirene,Foto oder Video aufnehmen ps_05=1 # KONTAKT -> geschlossen elif cs_05==0 and ps_05 == 1: print "Werkstatt geschlossen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Werkstatt','geschlossen')" % (ts) ) ps_05=0 # REED 05 ENDE # REED 06 START cs_06 = GPIO.input(REED_06) # KONTAKT -> GEOEFFNET if cs_06 == 1 and ps_06 == 0 and REED_06_on != 1: print "Abstellkammer offen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Abstellkammer','geoeffnet')" % (ts) ) ps_06=1 # KONTAKT -> ALARM elif cs_06 == 1 and ps_06 == 0 and REED_06_on == 1: print "Abstellkammer ALARM" print "Emailversand wird vorbereitet...!" Body = string.join(( "From: %s" %From, "To: %s" %To, "", Subject_reed6, Body_reed6, ), "\r\n") server = smtplib.SMTP('smtp.gmail.com:587') server.starttls() print "Einloggen in Googlemail....." server.login(username,password) print "Login als user ********* :"+username+"." server.sendmail(From, [To], Body) server.quit() print "Email wurde verschickt!" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Abstellkammer','Alarm')" % (ts) ) #Email,SMS,Anruf,Sirene,Foto oder Video aufnehmen ps_06=1 # KONTAKT -> geschlossen elif cs_06==0 and ps_06 == 1: print "Abstellkammer geschlossen" con = lite.connect(db) with con: cur = con.cursor() cur.execute("INSERT INTO tbl_log values(null, %d, 'Abstellkammer','geschlossen')" % (ts) ) ps_06=0 # REED 06 ENDE #if cs_07 == 0 and ps_07 == 1: # print "Alarmanlage [AUS]" # con = lite.connect(db) #with con: # cur = con.cursor() #cur.execute("INSERT INTO tbl_log values(null, %d, 'Alarmanlage','[AUS]')" % (ts) ) #ps_07=1 #REED_01_on=0 #REED_02_on=0 #REED_03_on=0 #REED_04_on=0 #REED_05_on=0 #REED_06_on=0 #SCHARF_01_on=0
Für Verbesserungen und Vorschläge bin ich offen
-
DANKE vorab.
Ich habe hier genau die Basis für das gefunden, was ich vor hatte! DANKE!
Meine Kenntnisse haben ausgereicht um den Phytoncode so zu erweitern, das es auf meine Bedürfnisse angepasst werden konnte und fehlerfrei funktioniert.
Leider reichen meine php Kenntnisse nicht aus um nur die letzen 100 Zeilen der Datenbank abzufragen (Beispiel Log, demo2.php).
Ich doktere schon seit Tagen rum, finde werder selbst, noch im I-Net eine Lösung.
Please -
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!