{"version":3,"file":"f05f9470-3e23a4f7bf956fde3aa7.js","mappings":"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","sources":["webpack://instar-wiki/./src/pages/Erweitert/FHEM_auf_Raspberry_Pi/index.mdx"],"sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport NavButtons from 'components/Advanced_User/NavButtons';\nimport BreadCrumbs from 'components/Layout/BreadCrumbs';\nimport SEOHelmet from 'components/Layout/SEOHelmet';\nexport const _frontmatter = {\n \"title\": \"FHEM IPCAM Modul für INSTAR Kameras\",\n \"path\": \"/Erweitert/FHEM_auf_Raspberry_Pi/\",\n \"dateChanged\": \"2018-09-28\",\n \"author\": \"Mike Polinowski\",\n \"excerpt\": \"FHEM ist ein GPL-Perl-Server für die Hausautomation. Es wird verwendet, um einige häufige Aufgaben im Haushalt zu automatisieren, wie das Schalten von Lampen, Rollläden und Heizung. Kompatibel mit den Kameramodellen IN-6001 HD, IN-6012 HD, IN-6014 HD, IN-5905 HD, IN-5907 HD, IN-7011 HD, IN-8003 Full HD, IN-8015 Full HD, IN-9008 Full HD, IN-9020 Full HD\",\n \"image\": \"./AU_SearchThumb_FHEM.png\",\n \"social\": \"/images/Search/AU_SearchThumb_FHEM.webp\",\n \"toc\": \"/images/Search/TOC_Icons/Wiki_Tiles_Advanced_FHEM_white.webp\",\n \"chapter\": \"Advanced User\",\n \"category\": \"smarthome\",\n \"type\": \"FHEM\"\n};\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nexport default function MDXContent({\n components,\n ...props\n}) {\n return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n <SEOHelmet title='FHEM IPCAM Modul für INSTAR Kameras – INSTAR Wiki' dateChanged='2018-09-28' author='Mike Polinowski' tag='INSTAR IP Camera' description='Tutorials für FHEM Installation & Verschönerung, IPCAM Modul / FHEM Tablet UI Setup, Automatisierung der Kamerafunktionen, Erstellung der Bewegungserkennung und Benachrichtigung und MQTT Integration.' image='/images/Search/AU_SearchThumb_FHEM.png' twitter='/images/Search/AU_SearchThumb_FHEM.webp' location={props.location.pathname} mdxType=\"SEOHelmet\" />\n <BreadCrumbs locationBC={props.location} locationDE={props.location.pathname} locationEN='/en/Advanced_User/FHEM_on_a_Raspberry_Pi/' locationFR='/fr/Advanced_User/FHEM_on_a_Raspberry_Pi/' crumbLabel=\"FHEM\" mdxType=\"BreadCrumbs\" />\n <NavButtons mdxType=\"NavButtons\" />\n <h1 {...{\n \"id\": \"fhem-ipcam-modul-für-instar-kameras\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h1\" {...{\n \"href\": \"#fhem-ipcam-modul-f%C3%BCr-instar-kameras\",\n \"aria-label\": \"fhem ipcam modul für instar kameras permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`FHEM IPCAM Modul für INSTAR Kameras`}</h1>\n {/* TupdateOnSave:false */}\n <ul>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#fhem-installation\"\n }}>{`FHEM Installation`}</a></li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#machen-sie-fhem-h%c3%bcbscher\"\n }}>{`Machen Sie FHEM hübsch(er)`}</a></li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#das-ipcam-modul\"\n }}>{`Das IPCAM Modul`}</a>\n <ul parentName=\"li\">\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#hinzuf%c3%bcgen-ihrer-instar-hd--oder-full-hd-kamera\"\n }}>{`Hinzufügen Ihrer INSTAR HD- oder Full HD-Kamera`}</a></li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#kamerasteuerung\"\n }}>{`Kamerasteuerung`}</a></li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#ipcam-fotoserie\"\n }}>{`IPCAM Fotoserie`}</a></li>\n </ul>\n </li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#adding-your-cameras-live-video\"\n }}>{`Adding your Cameras Live Video`}</a></li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#tablet-ui\"\n }}>{`Tablet UI`}</a></li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#automatisieren-sie-kamerafunktionen\"\n }}>{`Automatisieren Sie Kamerafunktionen`}</a>\n <ul parentName=\"li\">\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#hinzuf%c3%bcgen-ihres-geo-standorts\"\n }}>{`Hinzufügen Ihres Geo-Standorts`}</a></li>\n </ul>\n </li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#bewegungserkennung-und-benachrichtigung\"\n }}>{`Bewegungserkennung und Benachrichtigung`}</a>\n <ul parentName=\"li\">\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#einen-ftp-server-hinzuf%c3%bcgen\"\n }}>{`Einen FTP-Server hinzufügen`}</a></li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#kamera-ftp-upload\"\n }}>{`Kamera-FTP-Upload`}</a></li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#fhem-konfigurieren\"\n }}>{`FHEM konfigurieren`}</a></li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#einen-watch-daemon-erstellen\"\n }}>{`Einen Watch Daemon erstellen`}</a></li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#push-benachrichtigung-mit-pushsafer\"\n }}>{`Push-Benachrichtigung mit Pushsafer`}</a></li>\n </ul>\n </li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#mqtt-integration\"\n }}>{`MQTT Integration`}</a>\n <ul parentName=\"li\">\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#mqtt-voraussetzung\"\n }}>{`MQTT Voraussetzung`}</a></li>\n <li parentName=\"ul\"><a parentName=\"li\" {...{\n \"href\": \"#installation-von-node-red\"\n }}>{`Installation von Node-Red`}</a></li>\n </ul>\n </li>\n </ul>\n {/* /TOC */}\n <p>{`Dies ist eine Übersicht über die FHEM-Benutzeroberfläche. Wir werden das Hausautomationssystems in `}<a parentName=\"p\" {...{\n \"href\": \"https://www.raspberrypi.org/downloads/raspbian/\"\n }}>{`Raspbian`}</a>{` auf einem Raspberry Pi 2 installieren. Wenn Sie ein anderes Betriebssystem verwenden, lesen Sie bitte die `}<a parentName=\"p\" {...{\n \"href\": \"www.fhem.de#Installation\"\n }}>{`offizielle Installationsanleitung`}</a>{`.`}</p>\n <h2 {...{\n \"id\": \"fhem-installation\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h2\" {...{\n \"href\": \"#fhem-installation\",\n \"aria-label\": \"fhem installation permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`FHEM Installation`}</h2>\n <ul>\n <li parentName=\"ul\">\n <p parentName=\"li\">{`Importieren Sie den Repository-GPG-Schlüssel: `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`sudo wget http://debian.fhem.de/archive.key | apt-key add -`}</code></p>\n </li>\n <li parentName=\"ul\">\n <p parentName=\"li\">{`Fügen Sie das Repository zu `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`sudo nano /etc/apt/sources.list`}</code>{` hinzu: `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`deb http://debian.fhem.de/nightly/ /`}</code></p>\n </li>\n <li parentName=\"ul\">\n <p parentName=\"li\">{`Aktualisieren Sie Ihren Paketmanager: `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`sudo apt-get update`}</code></p>\n </li>\n <li parentName=\"ul\">\n <p parentName=\"li\">{`Installieren Sie FHEM: `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`sudo apt-get install fhem`}</code></p>\n </li>\n <li parentName=\"ul\">\n <p parentName=\"li\">{`Greifen Sie über die IP Ihres FHEM-Servers auf die Webbenutzeroberfläche zu - z.B. `}<em parentName=\"p\">{`192.168.2.64`}</em>{` : `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`http://192.168.2.64:8083/fhem`}</code></p>\n </li>\n </ul>\n <h2 {...{\n \"id\": \"machen-sie-fhem-hübscher\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h2\" {...{\n \"href\": \"#machen-sie-fhem-h%C3%BCbscher\",\n \"aria-label\": \"machen sie fhem hübscher permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Machen Sie FHEM hübsch(er)`}</h2>\n <p>{`Die FHEM-Benutzeroberfläche ist vollständig anpassbar - Sie können sogar fertige Designs wie die z.B. `}<a parentName=\"p\" {...{\n \"href\": \"https://github.com/klein0r/fhem-style-haus-automatisierung\"\n }}>{`haus-automatisierung.com`}</a>{` Skin herunterladen, die ich für dieses Tutorial leicht modifiziert habe. Skins ändern das Tastenlayout der Benutzeroberfläche nicht, und alles ist rein kosmetisch. Man muß sie also nicht installieren, um dem Tutorial folgen zu können. Wenn Sie jedoch das Aussehen entsprechend anpassen möchten, laden Sie entweder die `}<a parentName=\"p\" {...{\n \"href\": \"https://github.com/klein0r/fhem-style-haus-automatisierung\"\n }}>{`ursprüngliche Skin`}</a>{` oder die `}<a parentName=\"p\" {...{\n \"href\": \"https://github.com/INSTAR-Deutschland/fhem-style-haus-automatisierung\"\n }}>{`modifizierte INSTAR-Version`}</a>{` herunter:`}</p>\n <ol>\n <li parentName=\"ol\">{`Kopieren Sie den Inhalt des Verzeichnisses `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`www`}</code>{` aus dem Repository in das Verzeichnis `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`www`}</code>{` in Ihrer FHEM-Installation `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`/opt/fhem/www/`}</code>{`.`}</li>\n <li parentName=\"ol\">{`Rufen Sie Ihre FHEM-Benutzeroberfläche auf, klicken Sie auf `}<strong parentName=\"li\">{`Unsortiert`}</strong>{` und wählen Sie die `}<strong parentName=\"li\">{`FHEMWEB`}</strong>{` / Web device aus:`}</li>\n </ol>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"730px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/3c665649c0eaec215c0913187e08fd9b/e9beb/activation_01.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"63.47826086956522%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAA7CAAAOwgEVKEqAAAAC90lEQVQ4y5XQ329TZRjA8VfC3bLtPwBlvxgoC4vcmEzD9J5gMiyT7GKZJl65pHpWxtZzdtr1dOfsnLOuwOhKtdJ2K1uhxkJZbRnrkG6JbjVZuBEvlohy6Z2Im3xNj16AUROf5JMnb/LkeZ/nEfsPtPBScyvNbe00t71Mx9FXOdzRycFXjtJ+pJPWQ0c40HqIprbD/+m1ruN0dB5DnDjZw/Hublpa22hp70Ts2YsQAiH2/EX8Dy8gXC4X3W++xb79L9LU1ES3EHzY24c5HcbQdbzyGJJnGFmWkWXlX8j4fH56ek4hznokhiQ3HsmNX1U488brnDnVy6XZy9i2TSCoo/o1AlqQCd1A/wdaUMeypujr60Mo6Z9xR3/go9iPyIuPOfZOkBMn3yYWi2PbllPsG9cIBALous6kYWA8o/au1dQ+dxqufv0dy5X7jm/uP2REmWDgvQ84f+ESmqYxpgYY8aqoPj/+cQ2fP4D/b3z+cYJBndO97yLgKTtPfoGnO9Ti0U8PyX6ew7TCmHYY3bAIThhM2Ta2PYVlWZim+VwOhUKEw+E/J/xt53ce//qE3d1dp2GhUGAxk6Wyvsls9FOmQueJxuJsbW2RTl/FMCZ58OB7isUSijLGSrlMMplkbX0dj8dTm/D5KJdXmInEKC1XKJVuOxMqaoBbSwUm9Emi0Ri5G3lu5pfQ9Uny+SWKxdss3ykzMPA+YnOzSrX6Ldvb22xsbDiHj8zGSF/NsLZWIf7ZFed2q+UVLMskm81y/fo1SqUi0eiss9G9e185+vv7EZFIhLm5OSqVitOwq6uLK4l5/JpJKpXizspdFHWc1dW7XLg44+RQaJpM5hr5W0vcuJnHtGwKXxaRpCFEOp1mYWGBXC5HtVolHJ7m4kwUOzSDZdl8LJ1FGhrG65UZ9cp4ZYXhcyOcGxlFUVTH6KjMmOrD5TqNaGxspKGhgfr6eurq6hxut8RC5guSqRSJRIrLn8SJx+MkEgnm5+edjZ6VSiXJZBYZHBzkD2J+kuROqoSKAAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/3c665649c0eaec215c0913187e08fd9b/e4706/activation_01.avif 230w\", \"/de/static/3c665649c0eaec215c0913187e08fd9b/d1af7/activation_01.avif 460w\", \"/de/static/3c665649c0eaec215c0913187e08fd9b/b6582/activation_01.avif 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/3c665649c0eaec215c0913187e08fd9b/a0b58/activation_01.webp 230w\", \"/de/static/3c665649c0eaec215c0913187e08fd9b/bc10c/activation_01.webp 460w\", \"/de/static/3c665649c0eaec215c0913187e08fd9b/87ca7/activation_01.webp 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/3c665649c0eaec215c0913187e08fd9b/81c8e/activation_01.png 230w\", \"/de/static/3c665649c0eaec215c0913187e08fd9b/08a84/activation_01.png 460w\", \"/de/static/3c665649c0eaec215c0913187e08fd9b/e9beb/activation_01.png 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/3c665649c0eaec215c0913187e08fd9b/e9beb/activation_01.png\",\n \"alt\": \"INSTAR FHEM Style\",\n \"title\": \"INSTAR FHEM Style\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <ol>\n <li parentName=\"ol\">{`Wählen Sie das `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`stylesheetPrefix-Attribut`}</code>{` aus und geben Sie `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`instar_theme`}</code>{` (oder `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`hausautomatisierung_com`}</code>{`) ein und bestätigen Sie. Laden Sie die Website erneut, um das Ergebnis zu sehen:`}</li>\n </ol>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"730px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/7bd9ae5a29debd3d1d153ca74229a638/e9beb/activation_02.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"58.69565217391304%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAA7CAAAOwgEVKEqAAAACpUlEQVQoz52SO0yTYRSGPwdGI8ZEASHEwcGoiYOJURzYkI2BhYXJwECi1EtUdBGFxJgCLSBemgpUCr3359LfG1VKjLcBlGKaiBJulrulpf1bW3lMfxfRgcSTPDknJ9/3vjknR+zYuYvjJwrIzs5mT3Yu2zN3I8Q2hBD/QQYiJyeH2tpaDh46zImCAjIzM8nIyODSpRqu1Fzl2tUaLl+p4fyFi2g05zhztpqzf5HuVWvOUVFZiSgsLKS8vJySkhJKS0spLj5F/r79jASCLC6vMTGzxpfZMN8W11haCRNZj/5LZJ1UMon/02dEV5eZsTE/4+PjBAIBxj5+4Oixk9Q3mbDYJR50ujCa7Dw02TB2Wuk02zCZrZjUbKOzy4a5x4rkdqJvvY9wu90Eg/PMTE8zNzfH5OQkRUVF3Lh5k3v3DRgMBnQ6HQ0NjWgbGmnS6dHrm9H9iU5PS+sd6urqER5ZVgVnZ2cJBoOq6MshH4kUm2KDrWP1ewgxOvphUzOZTOKWJJaWV4knfqAoCUKhMN9DYUJrETWvrIbUOqbEicXiRKMKqdQGExNfESMjo/8Itre3E5xfJLIeI5FIqs7hyDrx+G+DNGkhJZ5QSdepnxt8+TqJkGVZ/bCwsEg0GsXv92M0GokpiU1Gyo+tR06vTpSVleHz+Whra0NRFKqqqqioqGBw0IvbLfH23Xsam5qx2Fw4nS4kqReLxYpW26C+6e8fwG530N7RgcPhRGg0GoaHh+np6WFqagqPx4NWq2XQ+4KhIR+vfMO0tbTSJ/XS29fPgEfG4XRxz2Dk+aAX+fET7A4npkddWCw2RFZWFvn5+So5e/eSl5fLgYNHeGh7hmx1YLt+G/etVgbuGpFkL2bHAPZuJ49PVyF1u+h76qNf9vL2zWv1Pn8BpuXO+iEhS2cAAAAASUVORK5CYII=')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/7bd9ae5a29debd3d1d153ca74229a638/e4706/activation_02.avif 230w\", \"/de/static/7bd9ae5a29debd3d1d153ca74229a638/d1af7/activation_02.avif 460w\", \"/de/static/7bd9ae5a29debd3d1d153ca74229a638/b6582/activation_02.avif 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/7bd9ae5a29debd3d1d153ca74229a638/a0b58/activation_02.webp 230w\", \"/de/static/7bd9ae5a29debd3d1d153ca74229a638/bc10c/activation_02.webp 460w\", \"/de/static/7bd9ae5a29debd3d1d153ca74229a638/87ca7/activation_02.webp 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/7bd9ae5a29debd3d1d153ca74229a638/81c8e/activation_02.png 230w\", \"/de/static/7bd9ae5a29debd3d1d153ca74229a638/08a84/activation_02.png 460w\", \"/de/static/7bd9ae5a29debd3d1d153ca74229a638/e9beb/activation_02.png 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/7bd9ae5a29debd3d1d153ca74229a638/e9beb/activation_02.png\",\n \"alt\": \"INSTAR FHEM Style\",\n \"title\": \"INSTAR FHEM Style\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <br /><br />\n <h2 {...{\n \"id\": \"das-ipcam-modul\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h2\" {...{\n \"href\": \"#das-ipcam-modul\",\n \"aria-label\": \"das ipcam modul permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Das IPCAM Modul`}</h2>\n <h3 {...{\n \"id\": \"hinzufügen-ihrer-instar-hd--oder-full-hd-kamera\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h3\" {...{\n \"href\": \"#hinzuf%C3%BCgen-ihrer-instar-hd--oder-full-hd-kamera\",\n \"aria-label\": \"hinzufügen ihrer instar hd oder full hd kamera permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Hinzufügen Ihrer INSTAR HD- oder Full HD-Kamera`}</h3>\n <p>{`Mit `}<a parentName=\"p\" {...{\n \"href\": \"https://wiki.fhem.de/wiki/IPCAM\"\n }}>{`IPCAM`}</a>{` können Sie ereignis- oder zeitgesteuerte Videoaufzeichnung von INSTAR-Netzwerkkameras einrichten. Es ist auch möglich, die Kamera über `}<a parentName=\"p\" {...{\n \"href\": \"/de/Erweitert/CGI_Befehle/\"\n }}>{`CGI-Befehle`}</a>{` zu steuern. Wir können mit der Definition unserer Netzwerkkamera beginnen:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`define `}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`<`}</span>{`name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`>`}</span>{` IPCAM `}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`<`}</span>{`ip`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`[`}</span>{`:port`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`]`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`>`}</span>{` `}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"730px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/7f1dde2956fea65eaed701fb1cfab6f6/e9beb/FHEM_04.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"50.43478260869565%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7CAAAOwgEVKEqAAAACeElEQVQoz4XOXUjTURzG8VO4XrAigsqsroogKumivAkroZIgvEyCLKKMlhTYRW2u2FInhbBsKmSzRUydUysro6LCLcYwKuhFe1lLs5fppjbd3H//za1vbHWREPTAh+dwzvkdjpgzbwE5m3PJzFxCxtIVzJ2fgZg+CzEzEzEjA6FYhFAsRqQtZO202awUaQgh/m1aGiI9fQ4qdSmr16xjzbosFAoFy5ctp0J/Dp1OR6W+Ap3uLKWa05xUq1GValCrp1Kp1Gh1ZRQUFCDytm2l5NhhDhTuRlm0j507trA+O5cBn4zf72PAG+DLYJDB4XEGh4MpvtEQvpFQqoeSPTJGMhbrDcR+dTNnrg2gavCgtXxDaXjBqg27qK67itl8hQu1Zs4b6qmpu4zBeIkLxnou1l6ewlh7iaZGC4eOHEecrTJzz/WZ6496uevso97axaacXGw2Gzdv3qKjowOr1Upzs5X29vaUtrbfWlvbUlpabNy+04lGo0E8sT8mMhFACo1CPELfx16OKI/ydxLAZPwn/8vDh48QodAEcjTGzz/35WgUk6mBH4FxYrF46iwwNk4wFEaKyEiSTFiSkSJRZDmWEpYiqdmuLjvC7x+e+ptEgqamRgKBMcLhCJGIzMiPIKEJCVmOIkm/95LrZCcfC4clJuMJenp6EG63m/v3H9DZ2YnX68XhsGOsM+HuH+L1q5c4nE+xO5/x7sMn3J4+HM5u3vR+wO3p56PnM67u57x97+HL1++0tN5AuFwu9Ho91dXVaLVaKsrL2FNYxPb8AxiMJpQl5azduJOi4lMoT1SQlb0dTXkNJarzVBqukpe/l4PFGqpqLJiv2fgFyJ9Ki4OLGpQAAAAASUVORK5CYII=')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/7f1dde2956fea65eaed701fb1cfab6f6/e4706/FHEM_04.avif 230w\", \"/de/static/7f1dde2956fea65eaed701fb1cfab6f6/d1af7/FHEM_04.avif 460w\", \"/de/static/7f1dde2956fea65eaed701fb1cfab6f6/b6582/FHEM_04.avif 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/7f1dde2956fea65eaed701fb1cfab6f6/a0b58/FHEM_04.webp 230w\", \"/de/static/7f1dde2956fea65eaed701fb1cfab6f6/bc10c/FHEM_04.webp 460w\", \"/de/static/7f1dde2956fea65eaed701fb1cfab6f6/87ca7/FHEM_04.webp 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/7f1dde2956fea65eaed701fb1cfab6f6/81c8e/FHEM_04.png 230w\", \"/de/static/7f1dde2956fea65eaed701fb1cfab6f6/08a84/FHEM_04.png 460w\", \"/de/static/7f1dde2956fea65eaed701fb1cfab6f6/e9beb/FHEM_04.png 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/7f1dde2956fea65eaed701fb1cfab6f6/e9beb/FHEM_04.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`In dem Beispiel haben wir eine lokale INSTAR Full HD-Kamera mit IP `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`192.168.2.116`}</code>{` und Port `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`80`}</code>{` hinzugefügt (`}<em parentName=\"p\">{`wenn Ihre Kamera einen anderen Port verwendet, müssen Sie ihn an der IP Ihrer Kamera anfügen`}</em>{`) und dem Gerät den Namen `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`OfficeCam`}</code>{` gegeben:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`define OfficeCam IPCAM `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`192.168`}</span>{`.2.116:80`}</code></pre></div>\n <p>{`Wir können auf die `}<a parentName=\"p\" {...{\n \"href\": \"https://fhem.de/commandref.html#IPCAMattr\"\n }}>{`Befehlsreferenz`}</a>{` für verfügbare Attribute verweisen, die wir unserer Kamera zuweisen können.`}</p>\n <p>{`Um auf unsere Kamera zuzugreifen, können Sie eine Datei `}<strong parentName=\"p\">{`ipcams.conf`}</strong>{` in `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`/opt/fhem/credentials`}</code>{` erstellen (stellen Sie sicher, daß Sie den Ordner und die Datei dem FHEM User zuweisen und Sie lesbar machen `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`sudo chown fhem:dialout`}</code>{` / `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`sudo chmod 755`}</code>{`!):`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"perl\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-perl\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-perl\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token variable\"\n }}>{`$credentials`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`OfficeCam`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`username`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`\"admin\"`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`;`}</span>{`\n`}<span parentName=\"code\" {...{\n \"className\": \"token variable\"\n }}>{`$credentials`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`OfficeCam`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`password`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`\"instar\"`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`;`}</span></code></pre></div>\n <p>{`In diesem Beispiel haben wir ein Administratorkonto mit dem Login admin/instar auf unserer Kamera. Bitte ändern Sie diese Werte entsprechend Ihrer Kameraeinstellung. In den folgenden Schritten müssen wir das Login jetzt nicht mehr verwenden. Wir müssen nur die Anmeldeinformationsdatei referenzieren.`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"729px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/08233d6d01126651b5b19ffad8d6ab65/b2982/FHEM_05.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"18.26086956521739%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAr0lEQVQI13XNzQqCQAAEYJ87hTAKXIMSwhXDioqgo3moBK3wL8E2w7+01bI3ibJDRMF3GJiBISYCM+o1+906z9QgSwptSmApCEiJo8d8ayqCmQgkjoaAFFiqAgE54BrzYYcIj6vIVwO0jPw1TrZFZlwvRplbN2w+vUKJzTK3PlUtkUZ6FutZpKehhpNNGmj4vLsX9tf6J8KzZH+veLaMXAU58sFZxL6KXCU+qe/z/x5PWrPuB7Jc1AAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/08233d6d01126651b5b19ffad8d6ab65/e4706/FHEM_05.avif 230w\", \"/de/static/08233d6d01126651b5b19ffad8d6ab65/d1af7/FHEM_05.avif 460w\", \"/de/static/08233d6d01126651b5b19ffad8d6ab65/e92f3/FHEM_05.avif 729w\"],\n \"sizes\": \"(max-width: 729px) 100vw, 729px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/08233d6d01126651b5b19ffad8d6ab65/a0b58/FHEM_05.webp 230w\", \"/de/static/08233d6d01126651b5b19ffad8d6ab65/bc10c/FHEM_05.webp 460w\", \"/de/static/08233d6d01126651b5b19ffad8d6ab65/78e23/FHEM_05.webp 729w\"],\n \"sizes\": \"(max-width: 729px) 100vw, 729px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/08233d6d01126651b5b19ffad8d6ab65/81c8e/FHEM_05.png 230w\", \"/de/static/08233d6d01126651b5b19ffad8d6ab65/08a84/FHEM_05.png 460w\", \"/de/static/08233d6d01126651b5b19ffad8d6ab65/b2982/FHEM_05.png 729w\"],\n \"sizes\": \"(max-width: 729px) 100vw, 729px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/08233d6d01126651b5b19ffad8d6ab65/b2982/FHEM_05.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <h3 {...{\n \"id\": \"kamerasteuerung\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h3\" {...{\n \"href\": \"#kamerasteuerung\",\n \"aria-label\": \"kamerasteuerung permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Kamerasteuerung`}</h3>\n <p>{`Now with everything set up we can start using the IPCAM Module. The first thing we can add is a collection of up to 15 `}<a parentName=\"p\" {...{\n \"href\": \"/de/Erweitert/CGI_Befehle/\"\n }}>{`CGI commands`}</a>{` that help us to take control over the camera functions through the FHEM web interface and allow us to later set up time schedules or event listeners to automatically trigger a certain command and automate our camera. For this example we picked the following commands (`}<em parentName=\"p\">{`you can, of course, replace every one of them - check out our`}</em>{` `}<a parentName=\"p\" {...{\n \"href\": \"/de/Erweitert/CGI_Befehle/\"\n }}>{`CGI documentation for all VGA, HD and Full HD cameras`}</a>{`):`}</p>\n <p>{`Jetzt können wir mit der Konfiguration des IPCAM-Modul beginnen. Das erste, was wir hinzufügen können, ist eine Sammlung von bis zu 15 `}<a parentName=\"p\" {...{\n \"href\": \"/de/Erweitert/CGI_Befehle/\"\n }}>{`CGI-Befehlen`}</a>{`, die uns helfen, die Kamerafunktionen über das FHEM-Webinterface zu steuern. Später können Sie `}<a parentName=\"p\" {...{\n \"href\": \"#automatisieren-sie-kamerafunktionen\"\n }}>{`Zeitpläne oder Ereignis-Listener einrichten`}</a>{`, um einen bestimmten Befehl automatisch auszulösen. Für dieses Beispiel haben wir die folgenden Befehle ausgewählt (`}<em parentName=\"p\">{`Sie können natürlich jeden von diesen ersetzen - lesen Sie unsere`}</em>{` `}<a parentName=\"p\" {...{\n \"href\": \"/de/Erweitert/CGI_Befehle/\"\n }}>{`CGI-Dokumentation für alle VGA-, HD- und Full HD-Kameras`}</a>{`):`}</p>\n <table>\n <thead parentName=\"table\">\n <tr parentName=\"thead\">\n <th parentName=\"tr\" {...{\n \"align\": null\n }}>{`Befehl`}</th>\n <th parentName=\"tr\" {...{\n \"align\": null\n }}>{`Funktion`}</th>\n </tr>\n </thead>\n <tbody parentName=\"table\">\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd01`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Löst einen Alarm auf unserer Kamera aus`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd02`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Stellen Sie die IR-LEDs auf automatisch`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd03`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`IR-LEDs ausschalten`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd04`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Deaktivieren Sie alle Erkennungsbereiche und den internen PIR-Sensor`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd05`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Aktivieren Sie alle Erkennungsbereiche + internen PIR-Sensor`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd06`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Gehe zur gespeicherten Position 1`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd07`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Gehe zur gespeicherten Position 2`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd08`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Gehe zur gespeicherten Position 3`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd09`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Starten Sie den horizontalen Scan`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd10`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Deaktivieren Sie den Alarmzeitplan`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd11`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Aktivieren Sie den Alarmzeitplan`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd12`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Alarmbereich 1 & 2 aktivieren`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd13`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Deaktivieren Sie den Alarmbereich 1 & 2`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd14`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Alarmbereich 3 & 4 aktivieren`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`cmd15`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Deaktivieren Sie den Alarmbereich 3 & 4`}</td>\n </tr>\n </tbody>\n </table>\n <p>{`Sie können die folgenden Befehle kopieren und in die FHEM-Befehlszeile einfügen. Bitte ändern Sie den Namen `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`OfficeCam`}</code>{`, wenn Sie im Schritt oben einen anderen Namen für Ihre Kamera gewählt haben:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`attr OfficeCam basicauth `}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`:`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam credentials /opt/fhem/credentials/ipcams.conf\nattr OfficeCam pathCmd param.cgi?\nattr OfficeCam cmd01 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`pushhostalarm`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd02 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setinfrared`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-infraredstat`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`auto`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd03 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setinfrared`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-infraredstat`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`close`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd04 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`0`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span><span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`2`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`0`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span><span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`3`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`0`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span><span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`4`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`0`}</span>{`?cmd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setpirattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pir_enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`0`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd05 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span><span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`2`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span><span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`3`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span><span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`4`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span>{`?cmd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setpirattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pir_enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd06 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`preset`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-act`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`goto`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-number`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`0`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd07 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`preset`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-act`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`goto`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-number`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd08 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`preset`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-act`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`goto`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-number`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`2`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd09 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`ptzctrl`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-step`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`0`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-act`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`hscan`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd10 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setscheduleex`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-ename`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`md`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week0`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week1`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week2`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week3`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week4`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week5`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week6`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd11 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setscheduleex`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-ename`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`md`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week0`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week1`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week2`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week3`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week4`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week5`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-week6`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd12 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span><span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`2`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd13 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`0`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span><span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`2`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`0`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd14 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`3`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span><span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`4`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{`\nattr OfficeCam cmd15 `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`3`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`0`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span><span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`cmd`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`setmdattr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`4`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-enable`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`0`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`USERNAME`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`PASSWORD`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span></code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/cdef6/FHEM_39.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"70.86956521739131%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAIAAACgpqunAAAACXBIWXMAAA7DAAAOwwHHb6hkAAADI0lEQVQoz02O3W9SdxjHf8mcy2bbbOrFtug0WaqJU/+AXXqzK6PZzYa9N61vs7HDEptF49KhYmxHeZkDEXpAMF0HNCkHmlLhtMzaxiqnaguUt8N54eXw0lIKlHOeBaKb33yunu/3+zwP+mRX+8mTpzo7O/d9ffjbT/ccat+7c/eBts/27dq9v23PwY/av/yw7fMWX+zs2P8eX33cvhd1dHT0dPcc+ebosePHEUKnTp92OCcxzPbX2GPLI9tDo8loNGIYZrFYLGazxWw2Y2ZsFLM+sg7dG0I/SiRy+a3BwUGlUtklkZw9f7Ww0UgkU1GKT7E8xfJJOkdzeSadZ9IFmitksgWez5fL5dmnL5BSOUIzbCSyViyWzNjoie++N1nGHzww3FUalGr9iEb3u1qn0upVWv2IRq9U67X39XqdzmR8OHBDjoaHh6PRWDBIUhRlMBi6u3sIYs7tmZqa8vxtd4yP2yddLpcLd+G4uyUcd0+6cM/UtNFoQj6/HwAEQQAAjuNWwxEAAFEURdiq1hsNUQRoCCDC/2p6APF4Avl8/qa9vQ0Akciay4VDMy28y4EgvF+E1qXmJElRiCAIUYRard5aFtdq/5ifnw8Gg1ar7fadew6HE8dxtVrj9Xqnp6ftdrvVZgsEAgRBmEwm5PZ4qtXa5mYFAJaWXvyp05Hkq0SCmp0L2GyPfT5icfE5jrtJcvllkJx/tuD3E+TyG3J5ZWxsHE1MTGxVqzzPA4DD4fjt9tB6uUqn6FK5RrPZTK6Y5Yv54kY6m4/GqfVypVAqp5gczeaCr8LI650RRKjXW2/HohrdqGJYc0ehkP3y64VLvX1XZVek/Zd6+3r7pOcu/iSVDUhl16T9sv5+aff5y8jpdAK8Lft8M9evD6bZUmItFnr9hlx6ubr8em0lFAuFo6tN4uFINBR5thCKhePEzBPU1dWlUNyVy+UqleqM5IeBc1egAUK+sMVlC/HUOsVs0FyFTZeZ9CaTqWf5bb6YTZSgUo/OBtB/+mDHDoTQzZ+vAUClVudLGxSTobkcxWYpNpNk0kkmk2TTXK7IFRp1gJV/nv4L0LtUVw+9Bx4AAAAASUVORK5CYII=')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/e4706/FHEM_39.avif 230w\", \"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/d1af7/FHEM_39.avif 460w\", \"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/7f308/FHEM_39.avif 920w\", \"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/63701/FHEM_39.avif 1163w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/a0b58/FHEM_39.webp 230w\", \"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/bc10c/FHEM_39.webp 460w\", \"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/966d8/FHEM_39.webp 920w\", \"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/5231b/FHEM_39.webp 1163w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/81c8e/FHEM_39.png 230w\", \"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/08a84/FHEM_39.png 460w\", \"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/c0255/FHEM_39.png 920w\", \"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/cdef6/FHEM_39.png 1163w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/4659fde4bb04657bb56e3ec3d1df5fcb/c0255/FHEM_39.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Mit den oben genannten Befehlen wird die `}<strong parentName=\"p\">{`Attributliste`}</strong>{` unseres IPCAM-Geräts `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`OfficeCam`}</code>{` mit den CGI-Befehlen \"gefüllt\", die zur Steuerung unserer Kamera erforderlich sind.`}</p>\n <p>{`Sie können Ihre Befehle testen, indem Sie deren Nummer eingeben und auf `}<strong parentName=\"p\">{`SET`}</strong>{` klicken, um sie auszulösen (siehe Abbildung unten). Im Beispiel wähle ich den Befehl Nr. 1, der auf meiner Kamera erfolgreich den Audioalarm ausgelöst:`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/7ff7345ab4d0fa18df5146fb2954131b/c83ae/FHEM_40.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"40.869565217391305%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAByElEQVQY02OQkJBMS0/X1tHR1tVnYWETEZNUUtFQVFZXVNZQUFKXlFbARDJyyjx8wgkJiQxSUpIRERHKKipaWloMDAx1dfVHT5zbvefg4cOHd+05sHPn7p27du/dt3/f/gNQtO/A/v0Hd+3as3LlKoaa2tqNGzdt2rBh9+FDk6NjN3XOeP315+PHz+8+fv/i9funL94/ef7u+asPEPT0xfu3795//PDh9Zu323YfZkhOy66uayqrrKmoqffy9HH3Di8pr80rKM3Mq8grqswtrMgtBDHgqKikvLSsoqS0MqegnMHC2s7IxNzYzFJbz8DQxFRXT09VTV1NXVNNXQOCVNU1IUhFTUNaVl5RWVVBWVVFXdvR2ZVBFwz09fXU1FQ9PL1OnL924vzVM5dvnr1y6+yVW+eu3Dpz8frJs5fOXrq+bssOHR0dK2srE2NjGUlJWzt7Bm0w0NLWVlNVMrX1Kus7WdZ1sLTrUGnXofLuw0Wdh8InXg2acjNi5v2caYe5eIUYWVm0+PhCeXjUVNWgmrW1dTRUlbQtvUzKTxgXHTApPmRSfNCk+KBx8SHtsuOapcf1q8/FdO5gYudhYGCQZ2b2YGBQUVEFAITcxgY27dIzAAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/7ff7345ab4d0fa18df5146fb2954131b/e4706/FHEM_40.avif 230w\", \"/de/static/7ff7345ab4d0fa18df5146fb2954131b/d1af7/FHEM_40.avif 460w\", \"/de/static/7ff7345ab4d0fa18df5146fb2954131b/7f308/FHEM_40.avif 920w\", \"/de/static/7ff7345ab4d0fa18df5146fb2954131b/433d8/FHEM_40.avif 1180w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/7ff7345ab4d0fa18df5146fb2954131b/a0b58/FHEM_40.webp 230w\", \"/de/static/7ff7345ab4d0fa18df5146fb2954131b/bc10c/FHEM_40.webp 460w\", \"/de/static/7ff7345ab4d0fa18df5146fb2954131b/966d8/FHEM_40.webp 920w\", \"/de/static/7ff7345ab4d0fa18df5146fb2954131b/2baf0/FHEM_40.webp 1180w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/7ff7345ab4d0fa18df5146fb2954131b/81c8e/FHEM_40.png 230w\", \"/de/static/7ff7345ab4d0fa18df5146fb2954131b/08a84/FHEM_40.png 460w\", \"/de/static/7ff7345ab4d0fa18df5146fb2954131b/c0255/FHEM_40.png 920w\", \"/de/static/7ff7345ab4d0fa18df5146fb2954131b/c83ae/FHEM_40.png 1180w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/7ff7345ab4d0fa18df5146fb2954131b/c0255/FHEM_40.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Wir zu unserer Befehlsliste zurückkehren, wenn wir mit der Einrichtung der `}<a parentName=\"p\" {...{\n \"href\": \"#tablet-ui\"\n }}>{`FHEM Tablet-Benutzeroberfläche`}</a>{` unten beginnen.`}</p>\n <h3 {...{\n \"id\": \"ipcam-fotoserie\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h3\" {...{\n \"href\": \"#ipcam-fotoserie\",\n \"aria-label\": \"ipcam fotoserie permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`IPCAM Fotoserie`}</h3>\n <p>{`Mit dem IPCAM-Modul können wir auch eine Anzahl von Schnappschüssen in einem einstellbaren Intervall (Fotoserie) aufnehmen. Diese Momentaufnahmen haben immer den gleichen Dateinamen und vorher aufgenommene Bilder werden immer überschrieben, sobald eine neue Aufnahme ausgelöst wird. Dies ist eine nützliche Funktion, um einen stets aktuellen Screenshot eines Standorts in einer Website einzubetten.`}</p>\n <p>{`Die folgenden Befehle sagen wir FHEM wie die Snapshot-URL auf unserer Kamera lautet `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`tmpfs/snap.jpg`}</code>{`, begrenzen die Anzahl der Momentaufnahmen auf 1 und legen auf unserem LINUX-Hostsystem einen Pfad fest, in dem Dateien gespeichert werden sollen `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`/opt/fhem/www/snapshots`}</code>{` (`}<em parentName=\"p\">{`stellen Sie sicher, daß Sie den Ordner nach dem erstellen mit `}<code parentName=\"em\" {...{\n \"className\": \"language-text\"\n }}>{`sudo mkdir /opt/fhem/www/snapshots`}</code>{` wieder dem FHEM User zuweisen `}<code parentName=\"em\" {...{\n \"className\": \"language-text\"\n }}>{`sudo chown fhem:dialout`}</code>{` und `}<code parentName=\"em\" {...{\n \"className\": \"language-text\"\n }}>{`sudo chmod 755`}</code>{` setzen, um FHEM zu erlauben ihn für die Schnappschüsse zu nutzen.`}</em>{`):`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`attr OfficeCam path tmpfs/snap.jpg\nattr OfficeCam snapshots `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`1`}</span>{`\nattr OfficeCam storage /opt/fhem/www/snapshots\nattr OfficeCam event-on-update-reading snapshots\nattr OfficeCam `}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`alias`}</span>{` IN-8015 Full HD\nattr OfficeCam group Surveillance\nattr OfficeCam icon it_camera\nattr OfficeCam room Office\nattr OfficeCam verbose `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`5`}</span></code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/2cc6777d53173aedb4dba95387307b0e/84bf8/FHEM_06.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"19.565217391304348%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAxElEQVQI1yXN203DMBSA4YNSpqIIdqqDVLtiBMQDi2SGDJEFeCCGtPgan4tr1PDrf/9gHMdhGKy10zSZ0+virz7XkHC5uJjWmFZEFqkslbiKVBerPWNr7XjUoLVWShlzMka/vX9cgiDXkNav+TvEnHIJMYeYUi5Iwiw/jj9taa31/Qv813UdADzsn1y6ikjO5PzNLEjbjCTEwiIuyrzJSvVwt7Xb3QPA/vH57BiRci7eR+9vIiHhdkEiot+A85Jba4eD+gMzQbulStCYrgAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/2cc6777d53173aedb4dba95387307b0e/e4706/FHEM_06.avif 230w\", \"/de/static/2cc6777d53173aedb4dba95387307b0e/d1af7/FHEM_06.avif 460w\", \"/de/static/2cc6777d53173aedb4dba95387307b0e/7f308/FHEM_06.avif 920w\", \"/de/static/2cc6777d53173aedb4dba95387307b0e/c0f7c/FHEM_06.avif 1162w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/2cc6777d53173aedb4dba95387307b0e/a0b58/FHEM_06.webp 230w\", \"/de/static/2cc6777d53173aedb4dba95387307b0e/bc10c/FHEM_06.webp 460w\", \"/de/static/2cc6777d53173aedb4dba95387307b0e/966d8/FHEM_06.webp 920w\", \"/de/static/2cc6777d53173aedb4dba95387307b0e/4f5bc/FHEM_06.webp 1162w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/2cc6777d53173aedb4dba95387307b0e/81c8e/FHEM_06.png 230w\", \"/de/static/2cc6777d53173aedb4dba95387307b0e/08a84/FHEM_06.png 460w\", \"/de/static/2cc6777d53173aedb4dba95387307b0e/c0255/FHEM_06.png 920w\", \"/de/static/2cc6777d53173aedb4dba95387307b0e/84bf8/FHEM_06.png 1162w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/2cc6777d53173aedb4dba95387307b0e/c0255/FHEM_06.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Das Attribut `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`snapshot`}</code>{` definiert die Anzahl der Snapshots, die aufgenommen werden sollen (wir wählen `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`1`}</code>{`), wenn unser IPCAM-Gerät durch ein Ereignis ausgelöst wird. Wenn Sie mehr als einen Schnappschuss auswählen, können Sie auch ein `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`attr OfficeCam delay 10`}</code>{` Sekunden zwischen den einzelnen Aufnahmen festlegen. Wir haben auch den Speicherpfad auf dem Raspberry Pi auf `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`/opt/fhem/www/snapshots`}</code>{` gesetzt (stellen Sie sicher, dass das Verzeichnis existiert und vom FHEM-Benutzer beschrieben werden kann) und teilten dem IPCAM-Modul mit, dass diese Snapshots unter `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`tmpfs/snap.jpg`}</code>{` zu finden sind - der 1080p/720p-Schnappschusspfad jeder INSTAR HD- und Full HD-Kamera.`}</p>\n <p><strong parentName=\"p\">{`Hinweis:`}</strong>{` In den meisten Fällen benötigt man das 1920 x 1080 Pixel große Bild nicht. Deshalb bietet Ihre INSTAR Full HD-Kamera drei Auflösungen, aus denen Sie wählen können - die kleineren Auflösungen helfen Bandbreite zu sparen:`}</p>\n <ol>\n <li parentName=\"ol\"><code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`/tmpfs/snap.jpg?usr=admin&pwd=instar`}</code>{` Snapshot (1080p)`}</li>\n <li parentName=\"ol\"><code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`/tmpfs/auto.jpg?usr=admin&pwd=instar`}</code>{` Snapshot (320p)`}</li>\n <li parentName=\"ol\"><code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`/tmpfs/auto2.jpg?usr=admin&pwd=instar`}</code>{` Snapshot (160p)`}</li>\n </ol>\n <p>{`Um auf diese Momentaufnahmen zugreifen zu können, können wir den integrierten Webserver innerhalb von FHEM namens HTTPSRV verwenden und ihm mitteilen, dass er den Inhalt des Speicherverzeichnisses bereitstellen soll:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"text\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-text\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-text\"\n }}>{`define <name> HTTPSRV <infix> <directory> <friendlyname>`}</code></pre></div>\n <ul>\n <li parentName=\"ul\"><code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`name`}</code>{` ist ein benutzerdefinierter Name für das von der FHEM-Benutzeroberfläche verwendete Gerät.`}</li>\n <li parentName=\"ul\"><code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`infix`}</code>{` ein Präfix für die FHEMWEB-Base-URL, unter der der Inhalt des Verzeichnisses bereitgestellt wird.`}</li>\n <li parentName=\"ul\"><code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`directory`}</code>{` der absolute Pfad zum öffentlichen Verzeichnis auf Ihrem RaspPi.`}</li>\n <li parentName=\"ul\"><code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`friendlyname`}</code>{` der Name, der in der FHEM-Seitennavigation verwendet wird.`}</li>\n </ul>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`define SnapServer HTTPSRV snaps /opt/fhem/www/snapshots OfficeCam-Snapshots`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/5e9677c1c49f59fe77702c90c000b60d/e9d87/FHEM_41.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"27.82608695652174%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAA7CAAAOwgEVKEqAAAABZElEQVQY043LzyvDcRzH8Y/8Ooz8TlHiYHF0wV1Kc/A34LAdFn8Cvt+5GMlRcln5fhv7IRcOLr5DmH23rBizH18W2U5rURw8ZUzcvOrR+9Wr3mJoeITenh7aO7poa+2kr8qEqGxBVDQjyhsR5U1fyhoRogEh6hGi7ttnF3/Z7Xb6BwbpNpupra2husbE6to6qtuHx+PF6/WhurdwuVwoioKiqEWqWrpuVHWTjQ0V//YOYmpqGqvVis1mZXxiks4uMzOzEkvLKyw4F5HleWbnZOYkudhLJNmBwzH/Q5JknM5FxFM2SyaTIZfL8fD4iGV0jN29fS6vrohELjg/19EChxxoR2iBIw60Q7TAMSenZ4RCYXQ9gq6HCQZDXF/HETfxOOFwhFgsRjQaZdRi4T7zwO+8vr3z34jn5xfy+TyFQoFsNoffv41h3GEYBul0mkQyxWUsQSqV/pYimSxJFn1ut4lE8f8DqXZSgR7FkY0AAAAASUVORK5CYII=')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/5e9677c1c49f59fe77702c90c000b60d/e4706/FHEM_41.avif 230w\", \"/de/static/5e9677c1c49f59fe77702c90c000b60d/d1af7/FHEM_41.avif 460w\", \"/de/static/5e9677c1c49f59fe77702c90c000b60d/7f308/FHEM_41.avif 920w\", \"/de/static/5e9677c1c49f59fe77702c90c000b60d/430c1/FHEM_41.avif 1176w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/5e9677c1c49f59fe77702c90c000b60d/a0b58/FHEM_41.webp 230w\", \"/de/static/5e9677c1c49f59fe77702c90c000b60d/bc10c/FHEM_41.webp 460w\", \"/de/static/5e9677c1c49f59fe77702c90c000b60d/966d8/FHEM_41.webp 920w\", \"/de/static/5e9677c1c49f59fe77702c90c000b60d/c9586/FHEM_41.webp 1176w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/5e9677c1c49f59fe77702c90c000b60d/81c8e/FHEM_41.png 230w\", \"/de/static/5e9677c1c49f59fe77702c90c000b60d/08a84/FHEM_41.png 460w\", \"/de/static/5e9677c1c49f59fe77702c90c000b60d/c0255/FHEM_41.png 920w\", \"/de/static/5e9677c1c49f59fe77702c90c000b60d/e9d87/FHEM_41.png 1176w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/5e9677c1c49f59fe77702c90c000b60d/c0255/FHEM_41.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Sie können den Server testen, indem Sie ein Bild nach `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`/opt/fhem/www/snapshots`}</code>{` hochladen, z.B. `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`A19041608083210.jpg`}</code>{`, und greifen Sie auf die URL `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`http://192.168.2.64:8083/fhem/snaps/A19041608083210.jpg`}</code>{` mit Ihrem Webbrowser zu.`}</p>\n <p>{`Wir können jetzt einen Job definieren, der diese Momentaufnahmen alle Minuten von der Kamera für uns abruft:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`define OfficeCam_Timelapse at +*00:01:00 get OfficeCam image`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/ac6ec52de32e30252c0e08758fe17f5d/33a7b/FHEM_06a.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"80.8695652173913%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAIAAACZeshMAAAACXBIWXMAAA7DAAAOwwHHb6hkAAADEklEQVQoz3XRa0hTYRgH8Lf6bIiZmdg9TOz2RcigghDCoqILBBF0+dC3Mqjwlmw6lpqaHs3AispJrCgKUo9rW5rbyUrnLsettblbgkG43NzO3nN7zzlvoN0vDz8eHp5PD/8HLFy06OTp00Xbt2/cvHXFyrUALFiWnZu5LGdpVk5Wdm5GZnZa+pLF6Zl/y8jIAgCAQ4ePbNy8ZfWadWlpi5cvz7HZXaM2h9NFj7vdThc9Znc4nS6aHv+Di6bBkUP7H+vv67tvP32k67pzo7h4dzDyaTo6wwuCrGBZwQr+b4EDx87qyA8t3cO3n7laH7wt3nv009TkdPTLl1icSbGQ5RgopFghBXmG5Rk45/sA9h2/dH+Ib3/+udMQa34ytbPkRDA8yTBwNpFIMjCe4KMJMZFCiRRKQmk2hZKcxLBSEiJOlMG7d8MYK7IsY4wVxOn1DytU9Q0NDVqttrKyurxKo1JrqlW15RXVVdXqyipVWcWViiqVukZTW1MD+vr6BaSkWF5AMmR5i5Wixz2hUCQc/kjT7lGb3TbmcLvfezxen2/C7w/M90Ag5PcHQWfnLYyxiBDGGEL4vKeX48X5PAQRQU7geCTJ/44N6HRdGGNJkjDGPM8bDIZYPCGKkihKEHKCgCRJQZKMkDy//BUgiFarlaIoyuv9UFp64UZHRyyehCzPsvzsLJNMQnZu/ifQde+u2WwiSRJjfObMqZaW6wrGaO4QESGWExTlv58GGo22re0mQXTouvV1dc0XL17p6TWThgGT2UIaXvX1D5LkoNFofWG0vjD9ZDRZjWYKZOfk5xXsWJ+3LT1jw559B2ubyzV1qlp1k1p17aq2vrFR3dRc09ikJoirRGvdD+1EfTtRD/ILigq3leQX7MhdVVhWdjkcGvB5Xrrtr7zOoQnPkMtNRoPOmbArNuWMR53x6Z9i0w6wLq8wf9OutXlF6UsKzp0/5wu8dIz1jw6bbG9M9hGjd2wgMEJNjFoCtCXotwR9vwFtLRpj/0OT4RHZ82DkTe9k6HUkQH0Mvv4mREXCc4JUJPCnrxpQuJOE5aZ3AAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/ac6ec52de32e30252c0e08758fe17f5d/e4706/FHEM_06a.avif 230w\", \"/de/static/ac6ec52de32e30252c0e08758fe17f5d/d1af7/FHEM_06a.avif 460w\", \"/de/static/ac6ec52de32e30252c0e08758fe17f5d/7f308/FHEM_06a.avif 920w\", \"/de/static/ac6ec52de32e30252c0e08758fe17f5d/a9037/FHEM_06a.avif 1119w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/ac6ec52de32e30252c0e08758fe17f5d/a0b58/FHEM_06a.webp 230w\", \"/de/static/ac6ec52de32e30252c0e08758fe17f5d/bc10c/FHEM_06a.webp 460w\", \"/de/static/ac6ec52de32e30252c0e08758fe17f5d/966d8/FHEM_06a.webp 920w\", \"/de/static/ac6ec52de32e30252c0e08758fe17f5d/03b0b/FHEM_06a.webp 1119w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/ac6ec52de32e30252c0e08758fe17f5d/81c8e/FHEM_06a.png 230w\", \"/de/static/ac6ec52de32e30252c0e08758fe17f5d/08a84/FHEM_06a.png 460w\", \"/de/static/ac6ec52de32e30252c0e08758fe17f5d/c0255/FHEM_06a.png 920w\", \"/de/static/ac6ec52de32e30252c0e08758fe17f5d/33a7b/FHEM_06a.png 1119w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/ac6ec52de32e30252c0e08758fe17f5d/c0255/FHEM_06a.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Der Zeitraffer-Job sollte nun jede Minute das IPCAM-Modul auslösen, das dann Bilder in unseren Speicherpfad auf dem RaspberryPi lädt. Über das HTTPSRV-Modul können wir jetzt den neuesten Snapshot mit der folgenden URL laden: `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`http://192.168.2.64:8083/fhem/snaps/OfficeCam_snapshot.jpg`}</code>{`.`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/98adf4b138edb95ec093440884cd873a/23266/FHEM_06b.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"36.95652173913043%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABX0lEQVQY022NW0vCYABAfc5NN5VZaWo6dDp3cZvfvnnNtGbeTcsQ79FFEgIhSqxM7dHeeunfhkoS0Xk+h6Mh3ZSb8pJuyuWmZD6QhUrM60uxwqDTv6p3CrFEEUZUGBIBZPgAzbA2h9Nqc9AM66VpDbJCq9UiW1qB8YtywEIY/SR50b3OVWqhaFyWQSQoQqgcH6ZiYgA3Gpb2Co3+FxLHAEW07xKMa/9t8fE4n9wOB6P5JKqAaDzRrJ5Dnwc3mVBUt/Y1uh/0ej1LeSTAWwkjZd9bfH49TaeNbqvRbkbDSuLo+KZ3GQEShuMoiq6TTYxiGEaRTomjocSFZbFUyvcHd6PXl+f36Xg2OUgms7lsIZ83GAx/YxRdxkEA84VCtVo+rRYb7Vb5rFKr1+4fhuPZVE2nzTvboVCYIMwIgvxzZgWplFR7maIQlLwcB6BstpjTGVXNnDAcL4AgkCGGYZvzNzL9UENwxWlmAAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/98adf4b138edb95ec093440884cd873a/e4706/FHEM_06b.avif 230w\", \"/de/static/98adf4b138edb95ec093440884cd873a/d1af7/FHEM_06b.avif 460w\", \"/de/static/98adf4b138edb95ec093440884cd873a/7f308/FHEM_06b.avif 920w\", \"/de/static/98adf4b138edb95ec093440884cd873a/fbc96/FHEM_06b.avif 923w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/98adf4b138edb95ec093440884cd873a/a0b58/FHEM_06b.webp 230w\", \"/de/static/98adf4b138edb95ec093440884cd873a/bc10c/FHEM_06b.webp 460w\", \"/de/static/98adf4b138edb95ec093440884cd873a/966d8/FHEM_06b.webp 920w\", \"/de/static/98adf4b138edb95ec093440884cd873a/e5eeb/FHEM_06b.webp 923w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/98adf4b138edb95ec093440884cd873a/81c8e/FHEM_06b.png 230w\", \"/de/static/98adf4b138edb95ec093440884cd873a/08a84/FHEM_06b.png 460w\", \"/de/static/98adf4b138edb95ec093440884cd873a/c0255/FHEM_06b.png 920w\", \"/de/static/98adf4b138edb95ec093440884cd873a/23266/FHEM_06b.png 923w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/98adf4b138edb95ec093440884cd873a/c0255/FHEM_06b.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Dieses Bild kann in eine Website eingebettet werden. Sie können diesen `}<a parentName=\"p\" {...{\n \"href\": \"https://wiki.instar.com/dl/image-container.zip\"\n }}>{`HTML-Code herunterladen`}</a>{` und als Beispiel nach `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`/opt/fhem/www/`}</code>{` snapshots entpacken. Diese Seite wird unter `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`http://192.168.2.64:8083/fhem/snaps`}</code>{` gehostet und zeigt Ihnen den neuesten Schnappschuss in einer jQuery-Lightbox:`}</p>\n <p><img parentName=\"p\" {...{\n \"src\": \"/de/5c7c6d96eff518410fcba34155cf4877/FHEM_06c.gif\",\n \"alt\": \"FHEM Raspberry Pi\"\n }}></img></p>\n <br /><br />\n <h2 {...{\n \"id\": \"adding-your-cameras-live-video\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h2\" {...{\n \"href\": \"#adding-your-cameras-live-video\",\n \"aria-label\": \"adding your cameras live video permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Adding your Cameras Live Video`}</h2>\n <p>{`You can use the `}<strong parentName=\"p\">{`IFRAME`}</strong>{` module to add the cameras live video:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`define OfficeCamView weblink iframe http://192.168.2.116:80/mjpegstream.cgi?-chn`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`12`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-usr`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`admin`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`&`}</span>{`-pwd`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`instar\nattr OfficeCamView htmlattr `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`width`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`\"640\"`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`height`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`\"352\"`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`frameborder`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`\"0\"`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`marginheight`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`\"0\"`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`marginwidth`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`\"0\"`}</span>{`\nattr OfficeCamView group Surveillance\nattr OfficeCamView room Office\nattr OfficeCamView verbose `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`5`}</span></code></pre></div>\n <p>{`Just as it was the case with the snapshots, you can pick for 3 different resolutions for the live video stream - just substitute the channel number in the MJPEG path above:`}</p>\n <ol>\n <li parentName=\"ol\"><code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`/mjpegstream.cgi?-chn=11`}</code>{` (1080p)`}</li>\n <li parentName=\"ol\"><code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`/mjpegstream.cgi?-chn=12`}</code>{` (320p)`}</li>\n <li parentName=\"ol\"><code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`/mjpegstream.cgi?-chn=13`}</code>{` (160p)`}</li>\n </ol>\n <blockquote>\n <p parentName=\"blockquote\">{`To edit the this view once added, use the following URL `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`http://192.168.2.64:8083/fhem?detail=OfficeCamView`}</code>{` where you have to replace the `}<em parentName=\"p\">{`OfficeCamView`}</em>{` with the name you choose in the commands above.`}</p>\n </blockquote>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/804b7b26aad57cff3c124d6ece94dc03/adc48/FHEM_07.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"61.30434782608696%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACv0lEQVQoz2NgY+cKCAwxMTVVUFBUUFBkZmZmYGBkIBKwsbFVVlU7ubipqGkYGJkwMDDY2trV1DWWlVdUVlVXVFYVF5fk5hVm5+YXFhYVFhYVFBblFxSWlpWHhoYx2FiZ5mYkpMSHpcSH5WbE6Wkp19TW/////8/fv/9h4Nef/78RvP9//vz5////kaNHGfxSOstm3SycfKF0+qX6xY8cojrKy8v//P//4cvfX3/+/wHr+fbz3+dvv//9+//7z79ff/7/+AHSvG//QYbarsXH7v7fceHnrou/jt//X9K+wszYODs7Kz4hLsTfNykmpr6xu6S8trSopCm/qDY7pzQtNTklOT0lKT42hmFif9eTBzfv3rx49+bFNy8e9HQ2S4uJGBpqqasrKEqKGKooBPr7+Xh5uDs7xAf5B9jbqslIOjo5+ZqZ2BobM9y5c/f9x88fP3358PHz////p8+cLSslbmltaGqmp6kk52pltnD16hkLZ9W31c1bvTgvL0NXU2POnLlJfr5BXp4MT548+fb9x58/f/6CQ2jvvn0ebs46usqmFgbKshK2hnr1zc2FpUUFxQWVVRXJCXGW5uad3b0N5RUFmRkMN27c+P///7+/f//9+/f////379/n52XLSAoZaKuY6GmGBPoVlRSVVVeWVpWXV5e39XSEhof5BwY2NbfmZuUyHD9+4vGTpw8ePPz8+fPLly8PHjhQWFhkY2sbEhaSnZ/X1tvdO21yQ2d7fUfb1Pnz2/q6c/ILdHR0FJUUs7NyGWpra0+ePFlcXNzQ0NDa2qqlpWVlbevq5pEbEpsTm+zu42dl5xgcFu0TFD5/xfqO/kk2tvYmpmaWllZlZdUMpaWlr1+/3r17t56eXlVVlYGBvpqaWmxs7ITGVi97J3//wNT0DC9v38qq2vjEZGcXl/T09JiY2NSUtKioaABJx1ogk/gGOwAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/804b7b26aad57cff3c124d6ece94dc03/e4706/FHEM_07.avif 230w\", \"/de/static/804b7b26aad57cff3c124d6ece94dc03/d1af7/FHEM_07.avif 460w\", \"/de/static/804b7b26aad57cff3c124d6ece94dc03/7f308/FHEM_07.avif 920w\", \"/de/static/804b7b26aad57cff3c124d6ece94dc03/7bd7a/FHEM_07.avif 979w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/804b7b26aad57cff3c124d6ece94dc03/a0b58/FHEM_07.webp 230w\", \"/de/static/804b7b26aad57cff3c124d6ece94dc03/bc10c/FHEM_07.webp 460w\", \"/de/static/804b7b26aad57cff3c124d6ece94dc03/966d8/FHEM_07.webp 920w\", \"/de/static/804b7b26aad57cff3c124d6ece94dc03/0db18/FHEM_07.webp 979w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/804b7b26aad57cff3c124d6ece94dc03/81c8e/FHEM_07.png 230w\", \"/de/static/804b7b26aad57cff3c124d6ece94dc03/08a84/FHEM_07.png 460w\", \"/de/static/804b7b26aad57cff3c124d6ece94dc03/c0255/FHEM_07.png 920w\", \"/de/static/804b7b26aad57cff3c124d6ece94dc03/adc48/FHEM_07.png 979w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/804b7b26aad57cff3c124d6ece94dc03/c0255/FHEM_07.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <br /><br />\n <h2 {...{\n \"id\": \"tablet-ui\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h2\" {...{\n \"href\": \"#tablet-ui\",\n \"aria-label\": \"tablet ui permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Tablet UI`}</h2>\n <p><a parentName=\"p\" {...{\n \"href\": \"https://github.com/knowthelist/fhem-tablet-ui\"\n }}>{`FHEM Tablet UI`}</a>{` ist ein leichtgewichtiges aber funktionsreiches Frontend-Framework zum Steuern und Überwachen von in FHEM integrierten Geräten. Es basiert auf HTML/CSS/JavaScript und stellt somit keine zusätzlichen Anforderungen an den FHEM-Server.`}</p>\n <ol>\n <li parentName=\"ol\">{`Zuerst müssen alle Dateien von FHEM Tablet UI in das FHEM-Verzeichnis /opt/fhem/www kopiert werden. Das geht mit folgendem update-Befehl über die FHEM-Befehlszeile.`}</li>\n </ol>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"730px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/d43ceb2f206fbdb9def960d8f8275109/e9beb/FHEM_31.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"25.65217391304348%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAIAAADKYVtkAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA0ElEQVQY042IzU6DUBhE5wLyJYQYwV0ppb3cH4TCxcbGNCFqrJrIG7DnGepbqK3d86pGu+munZxMzgzWb++P69eHp5flqrm7X+Vzo3QulRbyGHU8pc4qUxelAVcFV3ky4+PJbCJKoW/SrE7kIubVP2Wc1nFaR7yKeHnocWrM8rmoFvD9y83mo2kaY251NgdgO75L10QhUeC6Vwe3KbQoYBRYf0/oXAS2Q/A8r+s6IWQynY6iEQDGGM5M3/efX9/b7W6//xmGoW1bAJZlA+wU+AW+jCOTxGb3CQAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/d43ceb2f206fbdb9def960d8f8275109/e4706/FHEM_31.avif 230w\", \"/de/static/d43ceb2f206fbdb9def960d8f8275109/d1af7/FHEM_31.avif 460w\", \"/de/static/d43ceb2f206fbdb9def960d8f8275109/b6582/FHEM_31.avif 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/d43ceb2f206fbdb9def960d8f8275109/a0b58/FHEM_31.webp 230w\", \"/de/static/d43ceb2f206fbdb9def960d8f8275109/bc10c/FHEM_31.webp 460w\", \"/de/static/d43ceb2f206fbdb9def960d8f8275109/87ca7/FHEM_31.webp 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/d43ceb2f206fbdb9def960d8f8275109/81c8e/FHEM_31.png 230w\", \"/de/static/d43ceb2f206fbdb9def960d8f8275109/08a84/FHEM_31.png 460w\", \"/de/static/d43ceb2f206fbdb9def960d8f8275109/e9beb/FHEM_31.png 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/d43ceb2f206fbdb9def960d8f8275109/e9beb/FHEM_31.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"730px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/b5ca4d7071edf4d590263a1306fc91a6/e9beb/FHEM_32.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"33.91304347826087%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA/UlEQVQY032Q3XKCMBgFef8XqVqRIGGgAqkmIeSPjwSRViytvkmntx115tzunNkNmFwZh7wjoCkoCpp6oOOxmkZy++I/F/ZkAUjct5kVkaRh36beYEnDTiVCbAr9cr2w+Xx4DGs89oVmm0OxAJWATBhZGoEkj9/LzLdvQ5c/4oPB76aRQLNtaORM6jTWPAK5tTIBlWoRG4F6yEdfzGf6H+4hv4xEsZBWS9vEVsRiv9Y8UgIJuuZkSctFq/B1vuMfeMg+j6WtEatWoHGncb1/tSJWdax46gwGlZz87nov3t/zx7HoVKI46tts6HJdI2ewlamVZDpV3xO9zfVd51/gO0v1QcW6MgAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/b5ca4d7071edf4d590263a1306fc91a6/e4706/FHEM_32.avif 230w\", \"/de/static/b5ca4d7071edf4d590263a1306fc91a6/d1af7/FHEM_32.avif 460w\", \"/de/static/b5ca4d7071edf4d590263a1306fc91a6/b6582/FHEM_32.avif 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/b5ca4d7071edf4d590263a1306fc91a6/a0b58/FHEM_32.webp 230w\", \"/de/static/b5ca4d7071edf4d590263a1306fc91a6/bc10c/FHEM_32.webp 460w\", \"/de/static/b5ca4d7071edf4d590263a1306fc91a6/87ca7/FHEM_32.webp 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/b5ca4d7071edf4d590263a1306fc91a6/81c8e/FHEM_32.png 230w\", \"/de/static/b5ca4d7071edf4d590263a1306fc91a6/08a84/FHEM_32.png 460w\", \"/de/static/b5ca4d7071edf4d590263a1306fc91a6/e9beb/FHEM_32.png 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/b5ca4d7071edf4d590263a1306fc91a6/e9beb/FHEM_32.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <ol {...{\n \"start\": 2\n }}>\n <li parentName=\"ol\">{`Anschließend ist ein neues `}<a parentName=\"li\" {...{\n \"href\": \"https://wiki.fhem.de/wiki/HTTPSRV\"\n }}>{`HTTPSRV-Device`}</a>{` in FHEM anzulegen, welches auf den Ordner mit den gerade heruntergeladenen Dateien verweist.`}</li>\n </ol>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`define TABLETUI HTTPSRV ftui/ ./www/tablet/ Tablet-UI`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"730px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/0d0d1b8f2a1e6f8f410d3b55533a6192/e9beb/FHEM_33.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"39.565217391304344%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB40lEQVQY02MQEBRzcnaVlpaSkpYTFFNkYGRiYBFiYBJlYBJmYBRmYBJhYAQjBmEGBhYGFMDEoKCg0NPTratvYGllpa6uxsDAkJae3d3T39XV2dHZ1drW3t7W1tDQ0NjY0NjU3NjU0tjU0tDY3N7RlZKaxmBlZRUdHePp6enu7uHj48srIBwREdXY1FxbW1deXllQWFRcXFxaWlZSUlpSUlJcDEJFRcUVFZVRUVEMCxctOnXqzIULF86dO3f//n0XD79pM+a8e//h4aPH9+49uH791tVrN65eu377zt27d+/du/fg/v2Hd+/ef/nyzbr1Gxg2b9ny9Omz27fvPHjw4MuXL2FhIctXrP7///+fv39//Pj17v3HL1+/f/n2/fuPn9++//z999+///9///nz////4ydOMCxbtuz6jRsXL166dOnSgwcPvL2916xZA9H889efj19+/geDf/9ACCb+C6r5+YsXYLl/f//+/f//f2RUVGNr781b9y5evHzq3JWjJy+eOnPx9NlLV67dvnTlxplzl6/duHP1+p3bdx7OmbeYoXvjp7JlP0uW/Cxa9L1u3X+vpN7O3ml7DxydMHHi3AUr9+w9uO/AoXUbtpSUVbd39mzYuDUrJz8uMWXajFlLVqwDAJ1VIoEi0N4eAAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/0d0d1b8f2a1e6f8f410d3b55533a6192/e4706/FHEM_33.avif 230w\", \"/de/static/0d0d1b8f2a1e6f8f410d3b55533a6192/d1af7/FHEM_33.avif 460w\", \"/de/static/0d0d1b8f2a1e6f8f410d3b55533a6192/b6582/FHEM_33.avif 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/0d0d1b8f2a1e6f8f410d3b55533a6192/a0b58/FHEM_33.webp 230w\", \"/de/static/0d0d1b8f2a1e6f8f410d3b55533a6192/bc10c/FHEM_33.webp 460w\", \"/de/static/0d0d1b8f2a1e6f8f410d3b55533a6192/87ca7/FHEM_33.webp 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/0d0d1b8f2a1e6f8f410d3b55533a6192/81c8e/FHEM_33.png 230w\", \"/de/static/0d0d1b8f2a1e6f8f410d3b55533a6192/08a84/FHEM_33.png 460w\", \"/de/static/0d0d1b8f2a1e6f8f410d3b55533a6192/e9beb/FHEM_33.png 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/0d0d1b8f2a1e6f8f410d3b55533a6192/e9beb/FHEM_33.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <ol {...{\n \"start\": 3\n }}>\n <li parentName=\"ol\">{`Damit FHEM Tablet UI mit FHEM kommunizieren kann, ist noch die longpoll-Einstellung im FHEMWEB Device festzulegen.`}</li>\n </ol>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"text\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-text\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-text\"\n }}>{`attr WEB longpoll websocket`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"730px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/fbd1ebecc67fbf7d6e74a3f5aacc2c27/e9beb/FHEM_34.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"79.13043478260869%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAIAAACZeshMAAAACXBIWXMAAA7DAAAOwwHHb6hkAAADXElEQVQoz3WTy28bdRDHfyEHDihSKhU1gh74A8otUhvUA6eEQ0NLigSlhwQ7NoSCqUCIyjdo3Sh1d/sIrVORRk2CaOI2LY2IU1ARUQBRYm+82zpZP9aPffi36/X6me7DG69/KLYqhQNffS4zoxl9NaMBL3XsOfTG4f37X3153yude19ra3sBtO0BoLMNdALQ2QVePALa28H/qKtrn/ei9+ChnoM9PQdePwAAGBoawvArly/hGIaPjnnPX7h41jN6bhffnvV4vfiwwwm6u7tPnPigr6+vt7e3v7+/o6PjyrXvoVSIJdKRKBuJpmOJdCbD7VY6nS4UivPzd4HPN/H4n7VQMBQMBhmGeff4O+7RW0KuSkS40KZEp+QkKyUzYhbmhOdkOKjr6o/+B8DvvyNKEpNMsiynqqrdbj/85ltfn3Gf/uKrU59+7vxoZNg5Ync8x7nDh8Mfu1yuI28fA5OTN2k6SpIkRVEsyw4MDPgmJsuVLQhFluNjcYbnBUHI7oZluVKpsrBwD/C8gBBqNBqWZSGEbDbb7A9zCKF63aqZ9eqWphumbpiaUVO1mmU1mqU6Qmh1dRUUSyVN0y3LaqXcbvdSYBkhVDNMVdWr1WemWTcMs0Wttt0KEUI0HQUsy6qqpml6o7EzdWVlhY7G6zsmUM3cLlf1Zho1mjQ9opbHtbUggFA0zW3LslrNjx79RlGUoig0TYeI8PqTOCdkifX1aCzGcXw8nhCELEEQxWLx4cNfAEmS5UqF53kIYblcdjgc3gtjJEniOD44OIhfwhYXF212O4Zh9+7fHx//bikQsNntc/P+paUAYJikbhhqUwghp9Px5ZlzqYzAQyUU3ognM3w2F6Y2oaQIUE6m+XyhskEn8kppzr8AREmqmabVFEJodnbGg/l+/f1PbHzivZND35wfuzE1PTzy2eztO85TruPvn8THr2NXr9+4eesT12mQy8mtU7W27fF4FqbnjFxJiEQ2/vo7FabkOMM/3cgnGJZ6kg6TIk0/fbwpxfmfZmbA1NQUSVLBYJAgiFQqdfTY0WnfDNJRvVjOJzNKmqsKYoWHVQGqoryVFTVJljIVpKM/lpf/82Htzee7ffdBUW1AuSBIkiDlpHwBynkxr0hKQZTzOaXAwuIzo/5zYPlf9m+pnBSroDUAAAAASUVORK5CYII=')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/fbd1ebecc67fbf7d6e74a3f5aacc2c27/e4706/FHEM_34.avif 230w\", \"/de/static/fbd1ebecc67fbf7d6e74a3f5aacc2c27/d1af7/FHEM_34.avif 460w\", \"/de/static/fbd1ebecc67fbf7d6e74a3f5aacc2c27/b6582/FHEM_34.avif 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/fbd1ebecc67fbf7d6e74a3f5aacc2c27/a0b58/FHEM_34.webp 230w\", \"/de/static/fbd1ebecc67fbf7d6e74a3f5aacc2c27/bc10c/FHEM_34.webp 460w\", \"/de/static/fbd1ebecc67fbf7d6e74a3f5aacc2c27/87ca7/FHEM_34.webp 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/fbd1ebecc67fbf7d6e74a3f5aacc2c27/81c8e/FHEM_34.png 230w\", \"/de/static/fbd1ebecc67fbf7d6e74a3f5aacc2c27/08a84/FHEM_34.png 460w\", \"/de/static/fbd1ebecc67fbf7d6e74a3f5aacc2c27/e9beb/FHEM_34.png 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/fbd1ebecc67fbf7d6e74a3f5aacc2c27/e9beb/FHEM_34.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`bzw. bei Problemen mit websocket `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`attr WEB longpoll 1`}</code>{`.`}</p>\n <ol {...{\n \"start\": 4\n }}>\n <li parentName=\"ol\">{`Weil FTUI noch nichts anzuzeigen hat, wird die Datei `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`/opt/fhem/www/tablet/index-example.html`}</code>{` nach `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`/opt/fhem/www/tablet/index.html`}</code>{` kopiert.`}</li>\n </ol>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"text\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-text\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-text\"\n }}>{`sudo cp -a /opt/fhem/www/tablet/index-example.html /opt/fhem/www/tablet/index.html`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"730px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/dd851ea2436142191819c210ed0066ba/e9beb/FHEM_35.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"39.130434782608695%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAA7DAAAOwwHHb6hkAAABS0lEQVQY022PW2+CMACF+f9vS7YscS9b1Jl5RUBArAIFWmgpBWQUBRH9JbvEJ2NycvK9fMk5kuX3nXAIfdXbQewjDANG0J6DqgCtgCKzyv+IHJR7UGYbkW8OBaj24Du1JNcdEbJgVCeByUKQkG0cmgW3cm7kwry26NoG3cnvGv9y66BrbiBldFWmFo8UDKecKBnVMJwlkRoGsuGOa+EcS/tce13jn2vvLhInWrUHMZI98BXjJcOKb49jtKSBHGx1ilQeqVWxrYXdHuG9XKRWXTmcagjO4lBJiBYhOSEqizSCldBbhHCexvrxsay8N9aIT3p48JxMesnkjYxe2R/08PAFfzxRY5Dz9eX0aHbmywdmMHfqGX3mTLg7C8xP5kypPcZgzr15ipdlDh5/zvlaiF3K9AgtOTOKbENCJYlXjOo02lWl3RzgQ/NX/gFD2HfUcOI/hgAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/dd851ea2436142191819c210ed0066ba/e4706/FHEM_35.avif 230w\", \"/de/static/dd851ea2436142191819c210ed0066ba/d1af7/FHEM_35.avif 460w\", \"/de/static/dd851ea2436142191819c210ed0066ba/b6582/FHEM_35.avif 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/dd851ea2436142191819c210ed0066ba/a0b58/FHEM_35.webp 230w\", \"/de/static/dd851ea2436142191819c210ed0066ba/bc10c/FHEM_35.webp 460w\", \"/de/static/dd851ea2436142191819c210ed0066ba/87ca7/FHEM_35.webp 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/dd851ea2436142191819c210ed0066ba/81c8e/FHEM_35.png 230w\", \"/de/static/dd851ea2436142191819c210ed0066ba/08a84/FHEM_35.png 460w\", \"/de/static/dd851ea2436142191819c210ed0066ba/e9beb/FHEM_35.png 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/dd851ea2436142191819c210ed0066ba/e9beb/FHEM_35.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <ol {...{\n \"start\": 5\n }}>\n <li parentName=\"ol\">{`Abschließend muss FHEM noch neu gestartet werden (shutdown restart) da das Attribut longpoll geändert wurde.`}</li>\n </ol>\n <p>{`Somit ist FHEM Tablet UI bereit zur Verwendung und kann durch Aufruf der URL `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`http://<fhem-server>:8083/fhem/ftui/`}</code>{` oder den Link im FHEM-Menü geöffnet werden:`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/a58a8f1044eb05a075106985b6011584/5caea/FHEM_36.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"50.86956521739131%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABdElEQVQoz02RW27jMAxFvQ3no6LeIqm3azuxERQzyP7X1FHcAnMhSDokCOqK0+N8tmUvbQ2UKNXz6+/zz2u5n/Vzj6UbT8bhtbQN2gbj0HqqfU2lT5xyWz6RU8w11177gpysR+MCx8Qpa+ulttZjzOVC0OY4nynXyVrrvRfig4kQ0XvvnAMQKUbmEXPOKSXTmxExhAAgzuMAISYiSila63NpMcXee2/NDOwxDmy1WhdGNsba2rIsAuA8T631FEJgJqUtx4yIaSgq7S7MOTPzf9mcc5ZSMrMQYgIAbcxtnkEIbYxSSghxu81SwiWllLUjDr+a59laO8/z1TlKKeNbRBRCuExe9+s57/NHAJBSGp2994horMulMvO+7/f7XWtT6vBca12WhYjWbWXmbdsejwcIkXMexSEEItTGcyyEuG7btq1vz4VoeK61ElPrjYn2fT8ehwQopQDAVUxSSiKk32kppcaY3oj4E7/2EIKU8vV6/fvtb+qRYfjSPj2HAAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/a58a8f1044eb05a075106985b6011584/e4706/FHEM_36.avif 230w\", \"/de/static/a58a8f1044eb05a075106985b6011584/d1af7/FHEM_36.avif 460w\", \"/de/static/a58a8f1044eb05a075106985b6011584/7f308/FHEM_36.avif 920w\", \"/de/static/a58a8f1044eb05a075106985b6011584/c91b9/FHEM_36.avif 996w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/a58a8f1044eb05a075106985b6011584/a0b58/FHEM_36.webp 230w\", \"/de/static/a58a8f1044eb05a075106985b6011584/bc10c/FHEM_36.webp 460w\", \"/de/static/a58a8f1044eb05a075106985b6011584/966d8/FHEM_36.webp 920w\", \"/de/static/a58a8f1044eb05a075106985b6011584/ef2bd/FHEM_36.webp 996w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/a58a8f1044eb05a075106985b6011584/81c8e/FHEM_36.png 230w\", \"/de/static/a58a8f1044eb05a075106985b6011584/08a84/FHEM_36.png 460w\", \"/de/static/a58a8f1044eb05a075106985b6011584/c0255/FHEM_36.png 920w\", \"/de/static/a58a8f1044eb05a075106985b6011584/5caea/FHEM_36.png 996w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/a58a8f1044eb05a075106985b6011584/c0255/FHEM_36.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Wir können jetzt mit der Erstellung unserer eigenen Benutzeroberfläche beginnen, indem Sie zunächst eine Sicherungskopie der Beispiel HTML-Datei erstellen:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`cp`}</span>{` /opt/fhem/www/tablet/index.html /opt/fhem/www/tablet/index-bak.html`}</code></pre></div>\n <p>{`Wir können dann alle Beispiel-Widgets aus der Originaldatei `}<strong parentName=\"p\">{`index.html`}</strong>{` löschen:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"html\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-html\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-html\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token doctype\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<!`}</span><span parentName=\"span\" {...{\n \"className\": \"token doctype-tag\"\n }}>{`DOCTYPE`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token name\"\n }}>{`html`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`html`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n\n`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`head`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`link`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`rel`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`icon`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`href`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`favicon.ico`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`type`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`image/x-icon`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`/>`}</span></span>{`\n\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`meta`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`name`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`viewport`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`content`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`/>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`meta`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`name`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`widget_base_width`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`content`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`116`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`meta`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`name`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`widget_base_height`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`content`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`131`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`meta`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`name`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`mobile-web-app-capable`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`content`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`yes`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`meta`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`name`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`apple-mobile-web-app-capable`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`content`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`yes`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`meta`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`http-equiv`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`X-UA-Compatible`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`content`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`IE=edge`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`meta`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`name`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`longpoll`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`content`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`1`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`meta`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`name`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`debug`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`content`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`0`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`link`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`rel`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`stylesheet`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`href`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`/fhem/tablet/lib/jquery.gridster.min.css`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`/>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`link`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`rel`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`stylesheet`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`href`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`/fhem/tablet/css/fhem-tablet-ui.css`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`/>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`link`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`rel`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`stylesheet`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`href`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`/fhem/tablet/lib/font-awesome.min.css`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`/>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`link`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`rel`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`stylesheet`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`href`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`/fhem/tablet/lib/jquery.toast.min.css`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`/>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`link`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`rel`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`stylesheet`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`href`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`/fhem/tablet/css/fhem-tablet-ui-user.css`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`/>`}</span></span>{`\n\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`script`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`src`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`js/fhem-tablet-ui.js`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`defer`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span><span parentName=\"code\" {...{\n \"className\": \"token script\"\n }}></span><span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`script`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`title`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`FHEM-Tablet-UI`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`title`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`head`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n\n`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`body`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`div`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`class`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`gridster`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`ul`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`li`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-row`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`1`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-col`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`1`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-sizey`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`1`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-sizex`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`1`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token comment\"\n }}>{`<!-- Your Widgets go here -->`}</span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`li`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`ul`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`div`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`body`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n\n`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`html`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span></code></pre></div>\n <p>{`Dadurch wurde unsere Benutzeroberfläche auf eine leere Leinwand reduziert, die wir nun mit unseren eigenen Widgets füllen können:`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"874px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/9a7135945a5f7b4f014a738f53175747/30c92/FHEM_37.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"87.3913043478261%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAIAAABSJhvpAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACf0lEQVQ4y42Qi26bQBBF/f+/0EppHTV2mzh+AA3mEfMGG8zy2gWW3VnASZrPqOIoVdWmUqWr0Z3RHGnuTHTtRv0+M+++mMr0Xpney1NTmZrK5b1y6WhXrj7zzK+eOXf1mWt83d1dGvInU/l83plOSnroYX8aouchehij8SF6GvePQziOwWmMnk7x0+nwdDr8eNVD/PyYnBU/P8aTHLs40cp0leZSmUr4KLX7zTGXcqJWRMPEqBuD1DohelMbNTHwy1CnjcVbe5LgADly4k21bLZLZ0E8L515ur+uCrVpdozajFqMWt1LtVlrvbZAXdG5k4z4xX5bhzeHYn1Mbw/ZIsvUJtrs0xtcbqEyGXX6zus7T3QvwO9+Ipod5BJHazjeiuS2RxIgCZIloDWkayhVQR04r/6tCandGullttwXC5pIOVrG+eKYL1GxSooVqqSK6Kz9B4ywX0RaHM+1/KoNV/t4bmQzO7t2sm/3aO7n13Ep03/BHXUJtrtKq4haYbUm25rsKuJgYrHWAmrzzoG3kH/Cot1BIfPjkmdrFn5h0YwdvrFkweIbSFc8WXC0geJOtNY7cNs4VW7WiVwjhSC1LTUgOmANiAG1+csL6ryXufIoCwQEAAGHEEQomH+W96azf/fsltg82uB4SY/ykG0FUkVjC/b+h/6Ea2xT5WpYf+xXHwbpQqwvoDQE9wX9D7jCLmO+4J7gPjAfzhfCW8JX86v+3r7AuAm71j2BPzBvYN4Jgp65IwQD93vunfqw79xRhD33Bu6PIuiZ99BHA/g98yZ5rPDWzmOFFFpd6NlBZo1VHu/qQm9KE0Ub3lrZQW4rk2RaHisd2SX+CqMtq3c/AdnONDNUF4AGAAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/9a7135945a5f7b4f014a738f53175747/e4706/FHEM_37.avif 230w\", \"/de/static/9a7135945a5f7b4f014a738f53175747/d1af7/FHEM_37.avif 460w\", \"/de/static/9a7135945a5f7b4f014a738f53175747/43f51/FHEM_37.avif 874w\"],\n \"sizes\": \"(max-width: 874px) 100vw, 874px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/9a7135945a5f7b4f014a738f53175747/a0b58/FHEM_37.webp 230w\", \"/de/static/9a7135945a5f7b4f014a738f53175747/bc10c/FHEM_37.webp 460w\", \"/de/static/9a7135945a5f7b4f014a738f53175747/02c22/FHEM_37.webp 874w\"],\n \"sizes\": \"(max-width: 874px) 100vw, 874px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/9a7135945a5f7b4f014a738f53175747/81c8e/FHEM_37.png 230w\", \"/de/static/9a7135945a5f7b4f014a738f53175747/08a84/FHEM_37.png 460w\", \"/de/static/9a7135945a5f7b4f014a738f53175747/30c92/FHEM_37.png 874w\"],\n \"sizes\": \"(max-width: 874px) 100vw, 874px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/9a7135945a5f7b4f014a738f53175747/30c92/FHEM_37.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Wir können mit einem Widget beginnen, das das Live-Video unserer Mediendateien (`}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`/12`}</code>{`) ständig anzeigt und uns eine Lightbox des Full HD-Streams (`}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`/11`}</code>{`) gibt, wenn wir darauf klicken:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"html\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-html\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-html\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`li`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-row`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`1`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-col`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`1`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-sizey`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`2`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-sizex`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`4`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`div`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-type`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`popup`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-height`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`560px`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-width`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`960px`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`div`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-type`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`image`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{`\n `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-url`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`http://192.168.2.116:80/mjpegstream.cgi?-chn=12&-usr=admin&-pwd=instar`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`width`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`100%`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{`\n `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`height`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`100%`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`class`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`nocache`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`div`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`div`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`class`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`dialog`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`header`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`IN-8015 Full HD`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`header`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`div`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-type`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`image`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{`\n `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-url`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`http://192.168.2.116:80/mjpegstream.cgi?-chn=11&-usr=admin&-pwd=instar`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{`\n `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`width`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`100%`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`height`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`100%`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`class`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`nocache`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`div`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`div`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`div`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`li`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span></code></pre></div>\n <p>{`Wenn wir die Table-Benutzeroberfläche über längere Zeit geöffnet lassen, ist es möglicherweise besser, das Live-Video auszublenden bis wir auf das Widget klicken, um wertvolle Netzwerkbandbreite zu sparen:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"html\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-html\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-html\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`li`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-row`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`3`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-col`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`4`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-sizex`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`1`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-sizey`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`1`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`header`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`IN-9008 Full HD`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`header`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`div`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-type`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`popup`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-height`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`545px`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-width`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`960px`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`div`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-type`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`button`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-get`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`STATE`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-icon`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`fa-video-camera`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-get-on`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`on`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{`\n `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`class`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`big top-space`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`div`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`div`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`class`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`dialog`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`header`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`IN-9008 Full HD`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`header`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`div`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-type`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`image`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{`\n `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-url`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`http://192.168.2.115:80/mjpegstream.cgi?-chn=12&-usr=admin&-pwd=instar`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{`\n `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-size`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`100%`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`div`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`div`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`div`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`li`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span></code></pre></div>\n <p>{`Wir können auch alle CGI-Funktionen nutzen, die wir zuvor `}<a parentName=\"p\" {...{\n \"href\": \"#kamerasteuerung\"\n }}>{`zu unserem IPCAM-Gerät hinzugefügt`}</a>{` haben. Im Folgenden wird eine Schaltfläche mit dem `}<a parentName=\"p\" {...{\n \"href\": \"https://wiki.fhem.de/wiki/FHEM_Tablet_UI#Icons\"\n }}>{`Material-Icon`}</a>{` `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`looks_one`}</code>{` erstellt. Wenn die Taste gedrückt wird, wird für unsere `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`OfficeCam`}</code>{` ein Auslöser für `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`cmd6`}</code>{` ausgegeben. Wir haben außerdem zwei `}<a parentName=\"p\" {...{\n \"href\": \"https://wiki.fhem.de/wiki/FHEM_Tablet_UI#CSS-Klassen\"\n }}>{`CSS-Klassen`}</a>{` verwendet `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`class=\"big top-space\"`}</code>{`, um ein großes Symbol mit einem kleinen Rand oberhalb der Schaltfläche zu erhalten:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"html\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-html\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-html\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`li`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-row`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`1`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-col`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`3`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-sizey`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`1`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-sizex`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`1`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`Header`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`Go to Pos 1`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`header`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`div`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`div`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-type`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`push`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-icon`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`mi-looks_one`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-device`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`OfficeCam`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`data-set-on`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`cmd06`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`class`}</span><span parentName=\"span\" {...{\n \"className\": \"token attr-value\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation attr-equals\"\n }}>{`=`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span>{`big top-space`}<span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`\"`}</span></span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span><span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`div`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`div`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`li`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span></code></pre></div>\n <p>{`Die komplette Datei für alle unsere Funktionstasten können Sie `}<a parentName=\"p\" {...{\n \"href\": \"https://wiki.instar.com/dl/Developer/fhem-index.txt\"\n }}>{`von hier`}</a>{` nach `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`/opt/fhem/www/tablet/index.html`}</code>{` kopieren und Ihre Tablet-Benutzeroberfläche unter `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`http://<fhem-server>:8083/fhem/ftui/`}</code>{` sollte jetzt danach so aussehen:`}</p>\n <p><img parentName=\"p\" {...{\n \"src\": \"/de/84727bc7285792fa0df5f10dba7c50e3/FHEM_37a.gif\",\n \"alt\": \"FHEM Raspberry Pi\"\n }}></img></p>\n <br /><br />\n <h2 {...{\n \"id\": \"automatisieren-sie-kamerafunktionen\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h2\" {...{\n \"href\": \"#automatisieren-sie-kamerafunktionen\",\n \"aria-label\": \"automatisieren sie kamerafunktionen permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Automatisieren Sie Kamerafunktionen`}</h2>\n <p>{`FHEM bietet einen Scheduler an (`}<a parentName=\"p\" {...{\n \"href\": \"https://wiki.fhem.de/wiki/First_steps_in_FHEM#Scheduler_-_at\"\n }}>{`automation timer`}</a>{`) `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`at`}</code>{` Dadurch können wir zeitgesteuerte Auslöser für die Befehle, `}<a parentName=\"p\" {...{\n \"href\": \"#kamerasteuerung\"\n }}>{`die wir zuvor eingerichtet hatten`}</a>{` nutzen. Die Befehlsstruktur für den Scheduler lautet:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`define `}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`<`}</span>{`name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`>`}</span>{` at `}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`<`}</span>{`timespec`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`>`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`<`}</span>{`command`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`>`}</span></code></pre></div>\n <p>{`\\\\<name`}{`>`}{` und \\\\<command`}{`>`}{` habe hier die gleiche Funktion wie bei einem `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`notify`}</code>{`. Neu ist nur der \\\\<timespec`}{`>`}{` (time specification). Die Zeit wird in der Notation `}<strong parentName=\"p\">{`HH:MM:SS`}</strong>{` oder `}<strong parentName=\"p\">{`HH:MM`}</strong>{` angegeben:`}</p>\n <p>{`Varianten der Zeitangaben für `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`at`}</code>{`:`}</p>\n <table>\n <thead parentName=\"table\">\n <tr parentName=\"thead\">\n <th parentName=\"tr\" {...{\n \"align\": null\n }}>{`Notation`}</th>\n <th parentName=\"tr\" {...{\n \"align\": null\n }}>{`Erläuterung`}</th>\n </tr>\n </thead>\n <tbody parentName=\"table\">\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`+00:02:00`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`In zwei Minuten; Einzelausführung`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`00:02:00`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Um zwei Minuten nach Mitternacht, z.B. um 00:02 und 0 seconds; einmalige Ausführung`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`*00:02:00`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Täglich um 00:02`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`+*00:02:00`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Alle 2 Minuten`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`+*{3}00:02`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Dreimal alle zwei Minuten`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`*{3}00:02`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Dreimal um 00:02 Uhr`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`*{sunset_rel()}`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`Täglich bei Sonnenuntergang`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`*{sunrise(+120)}`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`2 Minuten (120 Sekunden) täglich nach Sonnenaufgang`}</td>\n </tr>\n </tbody>\n </table>\n <ul>\n <li parentName=\"ul\">{`Durch die Angabe von `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`*`}</code>{` wird eine permanente Wiederholung definiert. Die Wiederholungen werden fortgesetzt, bis das `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`at`}</code>{` gelöscht oder deaktiviert wird.`}</li>\n <li parentName=\"ul\">{`Durch Angabe von `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`+`}</code>{` wird die angegebene Zeit nicht mehr als absolute Zeit, sondern als Timer interpretiert, nach wie vielen Stunden: Minuten: Sekunden der Befehl ausgeführt wird.`}</li>\n <li parentName=\"ul\">{`Durch Angabe von `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`{n}`}</code>{` wird das `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`at`}</code>{` nur n-mal ausgeführt.`}</li>\n <li parentName=\"ul\">{`Die Funktionen `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`{sunset_rel ()}`}</code>{` und `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`{sunrise ()}`}</code>{` geben die entsprechende Zeit zurück. Dies wird täglich durch Angabe von `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`*`}</code>{` wiederholt. Die geschweiften Klammern zeigen an, dass FHEM den Inhalt dieser Klammern direkt als Perl-Funktionen ausführt.`}</li>\n </ul>\n <p>{`Um beispielsweise unsere Kamera in die Position zu schwenken, die wir tagsüber im Auge behalten möchten, können wir den `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`cmd 6`}</code>{` auslösen, den wir zuvorerstellt haben, damit sich unsere Kamera jeden Morgen bei Sonnenaufgang in `}<a parentName=\"p\" {...{\n \"href\": \"#kamerasteuerung\"\n }}>{`die gespeicherte Position 1 bewegt`}</a>{`. Und dann wollen wir bei Sonnenuntergang zurück in die Nachtposition mit Hilfe des `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`cmd 8`}</code>{`:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`define go_to_day_position at *`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`sunrise`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`(`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`)`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`set`}</span>{` OfficeCam cmd `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`6`}</span>{`\ndefine go_to_night_position at *`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`sunset_rel`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`(`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`)`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`set`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`set`}</span>{` OfficeCam cmd `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`8`}</span></code></pre></div>\n <p>{`Da wir unsere Kamera jetzt automatisch bewegen, müssen wir möglicherweise auch die Alarmbereiche ändern, die die Bewegungserkennung verwendet. Tagsüber wollen wir die kleinen Erfassungsbereiche 1 & 2 mit hoher Empfindlichkeit nutzen. Aber in der Nacht `}<a parentName=\"p\" {...{\n \"href\": \"/de/Web_User_Interface/1080p_Serie/Alarm/Bereiche/#m%C3%B6gliche-fehler\"\n }}>{`müssen wir unsere Flächen vergrößern und eventuell auch die Empfindlichkeit verringern`}</a>{`, weil die Erkennung im Nachtsichtmodus empfindlicher ist und wir falsche Alarme reduzieren möchten - daher wechseln wir bei Sonnenuntergang zu den entsprechend eingerichteten Bereichen 3 & 4. Des Weiteren, automatisieren wir auch die IR-Nachtsicht, indem sie tagsüber von `}<strong parentName=\"p\">{`automatisch`}</strong>{` auf `}<strong parentName=\"p\">{`aus`}</strong>{` geschaltet wird. Aufgrund unserer Kameraposition müssen wir möglicherweise das Timing ein wenig anpassen - 10 Minuten (`}<em parentName=\"p\">{`600s`}</em>{`) nach Sonnenuntergang und 20 Minuten (`}<em parentName=\"p\">{`1200s`}</em>{`) nach Sonnenaufgang scheint ein guter Wert zu sein (passen Sie dies an Ihre Bedürfnisse an):`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`define enable_are_one_two at *`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`sunrise`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`(`}</span>{`+10`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`)`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`set`}</span>{` OfficeCam cmd `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`12`}</span>{`\ndefine disable_are_three_four at *`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`sunrise`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`(`}</span>{`+15`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`)`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`set`}</span>{` OfficeCam cmd `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`15`}</span>{`\ndefine disable_nightvision at *`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`sunrise`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`(`}</span>{`+1200`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`)`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`set`}</span>{` OfficeCam cmd `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`3`}</span>{`\n\ndefine disable_are_one_two at *`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`sunset_rel`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`(`}</span>{`+10`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`)`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`set`}</span>{` OfficeCam cmd `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`13`}</span>{`\ndefine enable_are_three_four at *`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`sunset_rel`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`(`}</span>{`+15`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`)`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`set`}</span>{` OfficeCam cmd `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`14`}</span>{`\ndefine enable_nightvision at *`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`{`}</span>{`sunset_rel`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`(`}</span>{`+600`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`)`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`}`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`set`}</span>{` OfficeCam cmd `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`2`}</span></code></pre></div>\n <p>{`Wir fügen den beiden Bereichsbefehlen außerdem kleine Verzögerungen hinzu, sodass nicht alle Befehle gleichzeitig ausgelöst werden und von der Kamera ggf. verworfen werden.`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/a0c0773a4a428fb0f6401654583012f8/ae77d/FHEM_47.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"81.30434782608695%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAIAAACZeshMAAAACXBIWXMAAA7DAAAOwwHHb6hkAAADh0lEQVQoz2WT60+TdxTHf4hZX8y3bvsHtuwi2V5oN2cKRDat49LSPjztQ+mAQjJBrlORCl4GzYbbZG2HMhxQnW4DjU5GJDYdQguiUzFDtKMTZFtLW+jluUCf9rn+ltJl10++OeckJyffnOQcIJFIWo8c2ZKR8dLLrzy9adPmzc+gGh2CalENhqJYXoFSnqvIy1cUKArzC5QpFSiUCqVq167dQCp9vdxQoVYjJTqdLDPrbXmeCJOIYipDVoD/IdUKhcPgy96+QHDF51siCPL2nWmlCl38LbD4ezgQDAWDoSixGqYSEYJaCUXCYSIQWPH6/FGcZFhuYWERWMwn/d4nHvfMsv/XKddo9s5sTI1gWkRfUqwrLDrRYRly3Ojqt9naTN+0mUpRLaZFJydcEEKv1weMFodpMNT+rd80uHzs7IKuok764vN75DnvyHdnZmz9oPnwsH3k827rgK3H1vERWqh+K2uH/fuh9WEveODxL66I3qi4RECPN+YYd+Vmy7Zve7XYoC4pVXaf6ZmYfXD+ysDXgxdOtB3HijSyN7aNDH0HIQwGg+DmhBNCyPMshJAkon29PfKcrB1bX6s7Wd7av6/N0mI9fdra3WX+7FNrV2f9wQYthk66xiGEsVgMOJ1OjhcYhoEQUhRlsVgKNWh1fcN+00GsUV57VH/NNTYwfOWq/Zrt0vljHe1KRHPdfh1CiOM4GB0dJSmSoigcx3+emzNbrGXv7atueP8To+lwy4GGo43GDz9uN5tNnZ1nLpyrrK5VINqpW7f+dL4xNsayHMMwgiBEwuHuL3r21tTV1Deesp4qKtJU1dTtramtqKpqbGrak5dfXVu//5Cx/9xXvX39vbazYGZmhqbpeDzO8zxBksMXL81O/Ph4+tHCT56bI45Hk1O+Wfcvt+/6H7rv2B3z9+4vPXTP352+/8OY8/JVMD6e3J7jOAjhkt/fVFFJRNcYBpIUz7Iiz3ICx0MRivz6oQmiKAiikKxxz2MglUrVCKJSqYqx4p05OQpZJk7Q0VUhQvFRkl5diyUYjmE5huOTMVUwSatl9xz4i/QNGwAAudvfjETWIiQTwhMRfJUkKZpOxOPMP0XTCYYXA7NukJ6evnEdyVMSAIBClslwQkKENC/GeciL8P+kHoOYf/K3c1paGgDghWefM+rLD+kNze8amvVlRn1ZS6mhpezfKi1vNVQeUCF/ALfYcoOGOf2aAAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/a0c0773a4a428fb0f6401654583012f8/e4706/FHEM_47.avif 230w\", \"/de/static/a0c0773a4a428fb0f6401654583012f8/d1af7/FHEM_47.avif 460w\", \"/de/static/a0c0773a4a428fb0f6401654583012f8/7f308/FHEM_47.avif 920w\", \"/de/static/a0c0773a4a428fb0f6401654583012f8/24329/FHEM_47.avif 1111w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/a0c0773a4a428fb0f6401654583012f8/a0b58/FHEM_47.webp 230w\", \"/de/static/a0c0773a4a428fb0f6401654583012f8/bc10c/FHEM_47.webp 460w\", \"/de/static/a0c0773a4a428fb0f6401654583012f8/966d8/FHEM_47.webp 920w\", \"/de/static/a0c0773a4a428fb0f6401654583012f8/e4604/FHEM_47.webp 1111w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/a0c0773a4a428fb0f6401654583012f8/81c8e/FHEM_47.png 230w\", \"/de/static/a0c0773a4a428fb0f6401654583012f8/08a84/FHEM_47.png 460w\", \"/de/static/a0c0773a4a428fb0f6401654583012f8/c0255/FHEM_47.png 920w\", \"/de/static/a0c0773a4a428fb0f6401654583012f8/ae77d/FHEM_47.png 1111w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/a0c0773a4a428fb0f6401654583012f8/c0255/FHEM_47.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Für die ereignisgesteuerte Automatisierung lesen Sie bitte die `}<a parentName=\"p\" {...{\n \"href\": \"https://wiki.fhem.de/wiki/First_steps_in_FHEM#Event-driven_timer_start_-_notify_und_at\"\n }}>{`offizielle Dokumentation`}</a>{`. Ein Beispiel für eine solche Automatisierung wäre z.B. das Starten einer Fotoserie, wenn die Bewegungserkennung in FHEM ausgelöst wurde.`}</p>\n <h3 {...{\n \"id\": \"hinzufügen-ihres-geo-standorts\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h3\" {...{\n \"href\": \"#hinzuf%C3%BCgen-ihres-geo-standorts\",\n \"aria-label\": \"hinzufügen ihres geo standorts permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Hinzufügen Ihres Geo-Standorts`}</h3>\n <p>{`Wenn Sie dies noch nicht getan haben, müssen Sie FHEM Ihren Breiten- und Längengrad hinzufügen, um Ihre Sonnenuntergangs- und Sonnenaufgangszeiten berechnen zu können. Sie können `}<a parentName=\"p\" {...{\n \"href\": \"https://www.google.com/maps/place/INSTAR/@50.2743732,8.1895764,20z/data=!4m13!1m7!3m6!1s0x47bdb6284ad47e1d:0x50602842e95f716e!2sRaiffeisenstra%C3%9Fe,+65510+H%C3%BCnstetten,+Germany!3b1!8m2!3d50.2742232!4d8.1901122!3m4!1s0x47bdc9d6899c59e3:0xfcdd3803bcbc49fb!8m2!3d50.2743399!4d8.1898597\"\n }}>{`Google Maps`}</a>{` verwenden. Klicken Sie mit der rechten Maustaste auf die Karte und wählen Sie `}<strong parentName=\"p\">{`Was ist hier?`}</strong>{` - Ihre Längen- und Breitengrade werden am unteren Bildschirmrand angezeigt:`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/4cdc7/FHEM_48.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"53.91304347826087%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABtklEQVQoz02RTWsUQRCG50cLuZsFQQ2iJ0H8B5Ec3KPiQaMmREFB2WAWRliS3Z3d6Y/66pmu7paZidH31HR3PW/VW5Vt14Jt+auUkvcgIszsvWdm6xwA+FFBhIiYiYhEpDLYI0sfVXNOOfdRnXM8iKaD9x4AeMQx88R1zhFRdbnWBnOIxXA2VCgoj9Q7hRCYpRtrrLXghy7Ge6k0pYlJJCwhxoiIAEBE0ycWscb4q1+h67jrJISxc/Yeqj2otZaJuhBySqqKiNMzIjrvjTFI1C6Xmx8/u+trt9k2u/0Yh1SelbxHJFWdAkPEaTYiAhxQIQRb1+ZqqesbbBokHulS5ZSTJkAOIeScU0rWud1+T0TOeWPslLMn3BnTxdj3PSJ5AGNtdWcYYyylqOptvDzgaNTgbG2z3cp4CYi3add1vVgsLr5c3Ds4ePP23WJxOfmLiBsXq1G7vkciN8z5/yK4ej2fP3p89OTps/uHs8PZ7Pj41bfvXz9+/hBjJKLVavW7rl3b2rYFAAf/iom4GnrORUJUjTnnUsqLl88fHj0opYQQ3p+ezk9Obj6dbc7OOyLPafIcFgb2D1qxaMOmII29AAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/e4706/FHEM_48.avif 230w\", \"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/d1af7/FHEM_48.avif 460w\", \"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/7f308/FHEM_48.avif 920w\", \"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/d75de/FHEM_48.avif 1327w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/a0b58/FHEM_48.webp 230w\", \"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/bc10c/FHEM_48.webp 460w\", \"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/966d8/FHEM_48.webp 920w\", \"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/518ae/FHEM_48.webp 1327w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/81c8e/FHEM_48.png 230w\", \"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/08a84/FHEM_48.png 460w\", \"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/c0255/FHEM_48.png 920w\", \"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/4cdc7/FHEM_48.png 1327w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/fc19969e3f1ebca9d3e9c8f0e0d24d45/c0255/FHEM_48.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Öffnen Sie die FHEM-Konfigurationsdatei `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`nano /opt/fhem/fhem.cfg`}</code>{` oder über die FHEM-Oberfläche unter `}<strong parentName=\"p\">{`Edit files`}</strong>{`:`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/e6503185dc63a754706dbe8747d20f42/25260/FHEM_49.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"66.52173913043478%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACKUlEQVQoz4WQv28SYRjHbyBWN6DIDxtMWIyDNakxdaz/AIkTRoHWFEy6WpWUO8BgiovGRiLWFqTc4aKT2rQ1DtYjsXWxk4lJIRjTtLnjPH4e3Hvv+3JnDlwcoE8+eZ7pk++TLzEycspz/cbEpYlz5y84zzjNJ05aHWdP28Ys1jGzxWE020yjdqPZZhy1mfpY7CaL3WixW20OwmAwBIPBi+PjDpfrstF4x+nyB+eCgUBgdvbWzMy0Pv7p/vH7fT7fzd54vV6Px0O43e7FxKMHsdhiInHv7vzk5JXUCvMyzdB0Ppej88zrHE0zTJ6mmRxNZ7Nrq6vpdDqTybxKpVJEMplsSRLH85Ik/SqXp6auzodi4Ug8Hn8YjcYWFsIkSYXDpA6pQ1IUSVFUJHI/FCKi0VipVPq+t1csFre3P7vd1w545TevSB0FAEWWFbm//wcAKIo1Ymd3FyKEIFRVleP41IuVQwEeVVUAuwgPBKtqo9EiyuUyREhVVU3Tms3m151vfBUKdSwrGMKBINRttdrEF5ZVNQ0A0JMbH9a3jv7ggwruAIwQhgNAuNuRAVEoFGQA5J4siuLG5kehhrgq0pOHyx1AsCxbr9dbzaYgCMXi/rv360INcyLSk/EwXwYKwbIFiLoQYU3TpLa0ufWp/3Z7qPzv7eyTjWfLpafJn0vP9x8v/Xiz/FZsQK7aBccVpre9lqbrDVypSJKkloqHt4NznKjLsnJMYfVG8y+au1Cftn0WNwAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/e6503185dc63a754706dbe8747d20f42/e4706/FHEM_49.avif 230w\", \"/de/static/e6503185dc63a754706dbe8747d20f42/d1af7/FHEM_49.avif 460w\", \"/de/static/e6503185dc63a754706dbe8747d20f42/7f308/FHEM_49.avif 920w\", \"/de/static/e6503185dc63a754706dbe8747d20f42/e3393/FHEM_49.avif 1113w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/e6503185dc63a754706dbe8747d20f42/a0b58/FHEM_49.webp 230w\", \"/de/static/e6503185dc63a754706dbe8747d20f42/bc10c/FHEM_49.webp 460w\", \"/de/static/e6503185dc63a754706dbe8747d20f42/966d8/FHEM_49.webp 920w\", \"/de/static/e6503185dc63a754706dbe8747d20f42/9bbd4/FHEM_49.webp 1113w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/e6503185dc63a754706dbe8747d20f42/81c8e/FHEM_49.png 230w\", \"/de/static/e6503185dc63a754706dbe8747d20f42/08a84/FHEM_49.png 460w\", \"/de/static/e6503185dc63a754706dbe8747d20f42/c0255/FHEM_49.png 920w\", \"/de/static/e6503185dc63a754706dbe8747d20f42/25260/FHEM_49.png 1113w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/e6503185dc63a754706dbe8747d20f42/c0255/FHEM_49.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Und fügen Sie Ihren Längengrad und Breitengrad als globales Attribut hinzu:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"text\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-text\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-text\"\n }}>{`attr global latitude 50.274297\nattr global longitude 8.189495`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"913px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/c13ddf950a1cef518cc07f6c51be112b/0eb6d/FHEM_50.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"20%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAuUlEQVQI14XJWwqCQAAAQA+vQi8ozAzBVilLSQUJyYQoVjLTaivKD6VVt/QcER0gmL+hbE2YSR1VbMp9RhmwMs/KPAM4RhVb+qhjjHtzpTsZNgBHA45WeFbhWcDRmtRe6AL1uHjn2LkhFx2d5L5+ppDgoCKHdxG+iv3PuwwrcqjKsCZRTaKKfIvggDptjd1yEnpTBM0zNC+xkyUbnMJ//Dzzqas1ihZybAPkqldLwmhV4CBPYZ75f30A9tO1Xq4sLh4AAAAASUVORK5CYII=')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/c13ddf950a1cef518cc07f6c51be112b/e4706/FHEM_50.avif 230w\", \"/de/static/c13ddf950a1cef518cc07f6c51be112b/d1af7/FHEM_50.avif 460w\", \"/de/static/c13ddf950a1cef518cc07f6c51be112b/90e2f/FHEM_50.avif 913w\"],\n \"sizes\": \"(max-width: 913px) 100vw, 913px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/c13ddf950a1cef518cc07f6c51be112b/a0b58/FHEM_50.webp 230w\", \"/de/static/c13ddf950a1cef518cc07f6c51be112b/bc10c/FHEM_50.webp 460w\", \"/de/static/c13ddf950a1cef518cc07f6c51be112b/5ffe7/FHEM_50.webp 913w\"],\n \"sizes\": \"(max-width: 913px) 100vw, 913px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/c13ddf950a1cef518cc07f6c51be112b/81c8e/FHEM_50.png 230w\", \"/de/static/c13ddf950a1cef518cc07f6c51be112b/08a84/FHEM_50.png 460w\", \"/de/static/c13ddf950a1cef518cc07f6c51be112b/0eb6d/FHEM_50.png 913w\"],\n \"sizes\": \"(max-width: 913px) 100vw, 913px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/c13ddf950a1cef518cc07f6c51be112b/0eb6d/FHEM_50.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <br /><br />\n <h2 {...{\n \"id\": \"bewegungserkennung-und-benachrichtigung\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h2\" {...{\n \"href\": \"#bewegungserkennung-und-benachrichtigung\",\n \"aria-label\": \"bewegungserkennung und benachrichtigung permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Bewegungserkennung und Benachrichtigung`}</h2>\n <p>{`In diesem Schritt möchten wir die `}<a parentName=\"p\" {...{\n \"href\": \"/de/Web_User_Interface/1080p_Serie/Alarm/Bereiche/\"\n }}>{`Bewegungserkennung`}</a>{` der Kamera verwenden, um einen FTP-Upload eines Snapshots auf das Raspberry Pi, auf dem FHEM ausgeführt wird, auszulösen. Wir müssen einen FTP-Server installieren und eine Möglichkeit implementieren, FHEM jedes Mal zu benachrichtigen, wenn eine neue Datei hochgeladen wurde.`}</p>\n <h3 {...{\n \"id\": \"einen-ftp-server-hinzufügen\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h3\" {...{\n \"href\": \"#einen-ftp-server-hinzuf%C3%BCgen\",\n \"aria-label\": \"einen ftp server hinzufügen permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Einen FTP-Server hinzufügen`}</h3>\n <p>{`Wir werden `}<a parentName=\"p\" {...{\n \"href\": \"http://www.proftpd.org\"\n }}>{`ProFTPD`}</a>{` verwenden, der mit folgendem Befehl auf unserem RasPi installiert werden kann:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`apt`}</span>{` update\n`}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`apt`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`install`}</span>{` proftpd-basic`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"730px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/efcb513cf9ea3bb6570cb140990c4001/e9beb/FHEM_08.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"93.04347826086956%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAIAAAAf7rriAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAC6UlEQVQ4y21T25KbOBDl7/dts7uVx6Q2+7LJBMzFYLAxBiRASCABAsTN2J75ky3ZO5NUZapOqVoqdffpy1Eg/gbyfzNmcv2f8eNv4+cP65e/zl/+nP/+Y/30+zPzbld0W+DtnPwKBQMNRSqKVAy0Auod3XXUXYd4HaKlP10X+HJJn9c73oxXKEWiJ8HXLPqOE70uHJpbNXEmcRr7YGj9sQvOQ7QM0VkiXIZQXkUoX8ZIqYmdAw3DDUVmmRllZtB8W2YmBhte7mpiC+7P4jT3p6kLpi6Y+1Aa/WkZQqVMjTT4imMtj7UHBYpMmpkE6m21X8RpaPx1Ai+X7GXN3pg/alEosmhusdwqU7MmDkn0vt6L5iC4P/CjqA99vR+5P7bH6wJvC7y+4jJDhSKzgJuaOE25a6nblG7LXF7uOHU5dUV9aJnbVfuu8prSqQu7Y15feffQvtIUDs3MptxNXTC2wdAeB+63zOvrfVftR36UX5uDqA8d81rqdpUn6sPIj6LxlTzWisSosC3TFg5FVktlYNFIwsPdmMVpEeE6xesUX2awzvK8TEDJgSYRqwxtK2yn4VOR6mVqMGwxvGW5VWF7aI9TF1wX+LymtzX5MWcMNZLoONEx0BiycKyVmUESneFtS92WebzcDdx/vmTvbFgeq4/kGGhlZmbhE4q/o1gliQxRYXtsj4sI319PAvUiM8vUIHBTYZvlFs2sju375jBwyfYyA8n2XeccaChWUaimwbciNWTxuVUkeg60jnnv+vxwLlOTIouAzaNnNJPXrpKjmkV4neF1hrK3r7gucJ3BdZY6U9LTE4F6Hqkk0WUJMrlGkcVL974P+8fkpzaYutPcBbMIx/Y437ugkESnmXHfTZsiKSmGtzVxBu6fx/g8RLdz8nK5b/UdkvD6c7djFQO1SHWKrCKVyTl1pzbg1B1kEimpRYRzL43b8lPNFFkYbgjcYLBhuUUSqc0iNTDQGuJI6f4PqecHkTfn/wBHJH1nHJxA8gAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/efcb513cf9ea3bb6570cb140990c4001/e4706/FHEM_08.avif 230w\", \"/de/static/efcb513cf9ea3bb6570cb140990c4001/d1af7/FHEM_08.avif 460w\", \"/de/static/efcb513cf9ea3bb6570cb140990c4001/b6582/FHEM_08.avif 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/efcb513cf9ea3bb6570cb140990c4001/a0b58/FHEM_08.webp 230w\", \"/de/static/efcb513cf9ea3bb6570cb140990c4001/bc10c/FHEM_08.webp 460w\", \"/de/static/efcb513cf9ea3bb6570cb140990c4001/87ca7/FHEM_08.webp 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/efcb513cf9ea3bb6570cb140990c4001/81c8e/FHEM_08.png 230w\", \"/de/static/efcb513cf9ea3bb6570cb140990c4001/08a84/FHEM_08.png 460w\", \"/de/static/efcb513cf9ea3bb6570cb140990c4001/e9beb/FHEM_08.png 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/efcb513cf9ea3bb6570cb140990c4001/e9beb/FHEM_08.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Möglicherweise wurden Sie während der Installation zur Auswahl zwischen einem `}<em parentName=\"p\">{`standalone server mode`}</em>{` oder `}<em parentName=\"p\">{`from inetd mode`}</em>{` aufgefordert - wählen Sie hier den `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`standalone server`}</code>{`. Um ProFTPD manuell zu konfigurieren, öffnen Sie bitte die Konfigurationsdatei in Nano:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`nano`}</span>{` /etc/proftpd/proftpd.conf`}</code></pre></div>\n <p>{`Wir deaktivieren IPv6 - das wir es nicht brauchen, benennen unseren Server in FHEM um und stellen sicher, daß der `}<em parentName=\"p\">{`standalone-server-type`}</em>{` aktiv ist.`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"729px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/9c04bb6275ac1d9d1d1bdabb5ff73906/b2982/FHEM_09.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"42.173913043478265%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAA7DAAAOwwHHb6hkAAABWElEQVQY023PXU/CMBQG4P3/S5Ro+IoCQ5nuA7Z169iGgjpFtnZt19HCIOgf0WnijSRPzsVJ3pz3KIF9BYyOq7cntxfmqGmOmoZ67ty3gNHxjI5v9aDV863edHypDxuGeqarDeum6ZtdW7tUSOrl726aTNGrjd7sksxI6uGVk73aZA3WiZUlU7xyRBFXYvF5ePn1sa8pHMMCQ5Z6NPVY5m9oyHFQbxAsScgQLBDkebDbPFZisf8jawrLA5J5NPPwGjAcyHK+k4vj/uVYPR+rp59ZO2yX/ynI7BKnz/0RBQMGhgwMqd2nyZSTGVkDhvzip1qB4V4u/oXta+QMRHxXLU35oO+WZgFHZTLZlnNZxILFks9lEW1YdCJM7H42uaJAFeFYRJqINOoOkTvgZFaSsH4ew205P107vWut9DZ1B9tYk7EmI404/dTo5lDlNOR5wJAvTp39Dn8BI+NzZL8sH1UAAAAASUVORK5CYII=')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/9c04bb6275ac1d9d1d1bdabb5ff73906/e4706/FHEM_09.avif 230w\", \"/de/static/9c04bb6275ac1d9d1d1bdabb5ff73906/d1af7/FHEM_09.avif 460w\", \"/de/static/9c04bb6275ac1d9d1d1bdabb5ff73906/e92f3/FHEM_09.avif 729w\"],\n \"sizes\": \"(max-width: 729px) 100vw, 729px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/9c04bb6275ac1d9d1d1bdabb5ff73906/a0b58/FHEM_09.webp 230w\", \"/de/static/9c04bb6275ac1d9d1d1bdabb5ff73906/bc10c/FHEM_09.webp 460w\", \"/de/static/9c04bb6275ac1d9d1d1bdabb5ff73906/78e23/FHEM_09.webp 729w\"],\n \"sizes\": \"(max-width: 729px) 100vw, 729px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/9c04bb6275ac1d9d1d1bdabb5ff73906/81c8e/FHEM_09.png 230w\", \"/de/static/9c04bb6275ac1d9d1d1bdabb5ff73906/08a84/FHEM_09.png 460w\", \"/de/static/9c04bb6275ac1d9d1d1bdabb5ff73906/b2982/FHEM_09.png 729w\"],\n \"sizes\": \"(max-width: 729px) 100vw, 729px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/9c04bb6275ac1d9d1d1bdabb5ff73906/b2982/FHEM_09.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Jetzt müssen wir einige Änderungen an unserer Benutzerkonfiguration für den ProFTPd-Standardbenutzer `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`ftpuser`}</code>{` vornehmen, indem Sie die folgende Datei erstellen:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`nano`}</span>{` /etc/proftpd/conf.d/proftp-custom.conf`}</code></pre></div>\n <p>{`Fügen Sie hier die folgende Konfiguration ein:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"xml\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-xml\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-xml\"\n }}>{`# Ftp-Benutzer benötigen keine gültige Shell\n`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`Global`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n RequireValidShell off\n`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`Global`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n \n# Das Standardverzeichnis ist ftpuser's home\nDefaultRoot ~ ftpuser\n \n# Beschränken Sie die Anmeldung auf die Gruppe ftpuser\n`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`<`}</span>{`Limit`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token attr-name\"\n }}>{`LOGIN`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span>{`\n DenyGroup !ftpuser\n`}<span parentName=\"code\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token tag\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`</`}</span>{`Limit`}</span><span parentName=\"span\" {...{\n \"className\": \"token punctuation\"\n }}>{`>`}</span></span></code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"729px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/12d6986505fda3040c3074a65b8ab45d/b2982/FHEM_10.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"28.260869565217394%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAzklEQVQY042Oyw7BQABF++WIdCEeE8FCSlsiUmUhiEXHqChF4jW0U51hRvkSoYl1k5O7uTk3VzLUYqeea9VkBaSVUkqvyp16zmgW+jro6cBQi6YGjGbB1EpdJa+Wsw2Q0SryoF3uKnnpuB0TDAmGwQWywGbEpsR+CTfi6xd3/0S/fItNTPT4ttLBHd6us+A6o/78fltw5gjqPO+rJEin3YRgiPdTgmG8EnoouTw+bkcEW/7Zoj4KPcTpMqm8npuX/TT0UOgjwRxOl4Ilvf0BVkkYstmcRScAAAAASUVORK5CYII=')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/12d6986505fda3040c3074a65b8ab45d/e4706/FHEM_10.avif 230w\", \"/de/static/12d6986505fda3040c3074a65b8ab45d/d1af7/FHEM_10.avif 460w\", \"/de/static/12d6986505fda3040c3074a65b8ab45d/e92f3/FHEM_10.avif 729w\"],\n \"sizes\": \"(max-width: 729px) 100vw, 729px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/12d6986505fda3040c3074a65b8ab45d/a0b58/FHEM_10.webp 230w\", \"/de/static/12d6986505fda3040c3074a65b8ab45d/bc10c/FHEM_10.webp 460w\", \"/de/static/12d6986505fda3040c3074a65b8ab45d/78e23/FHEM_10.webp 729w\"],\n \"sizes\": \"(max-width: 729px) 100vw, 729px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/12d6986505fda3040c3074a65b8ab45d/81c8e/FHEM_10.png 230w\", \"/de/static/12d6986505fda3040c3074a65b8ab45d/08a84/FHEM_10.png 460w\", \"/de/static/12d6986505fda3040c3074a65b8ab45d/b2982/FHEM_10.png 729w\"],\n \"sizes\": \"(max-width: 729px) 100vw, 729px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/12d6986505fda3040c3074a65b8ab45d/b2982/FHEM_10.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Nachdem die Benutzerkonfiguration abgeschlossen ist, müssen wir nun den `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`ftpuser`}</code>{` zu unserem Linux-System hinzufügen:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` adduser ftpuser --shell /bin/false --home /var/www/upload`}</code></pre></div>\n <p>{`Wir stellen sicher, dass der `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`ftpuser`}</code>{` nicht verwendet werden kann, um über SSH `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`--shell /bin/false`}</code>{` auf unseren Server zuzugreifen, und verwendet das von ProFTPd erstellte Verzeichnis `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`--home /var/www/upload`}</code>{` als Home Verzeichnis des Users.`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"730px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/a2bab065a56fc34ce1ef4e6c3124de58/e9beb/FHEM_11.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"33.91304347826087%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA5UlEQVQY04WO7WqDMBiFvf8LGZRqawrFVG1I1CRa40dijB911ksZVcYGAwcP76/3OedYKP3glZNnnhKwKT0j/ba+jQYZGXQq1CXs9b2tfSMDXUJd3eYxej3jDSslTsFcwUBOz6r0BHPXiGDQ906F2+syJe/77fzIHNsUHTg5ZvGpflx1CVvpdyqcevzs8O+ev1iP+CwYENTNiCPz6zb7c4hea9s+lmAgJTbDdsFBlV4EBwUHTQGN9Psm3I+wpg7nyYmiQ1vBZUpW6DIl8xjtb37LRgUcHwsOehWOGo0GzQP5d/AmfwGHr1GyDhAF2QAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/a2bab065a56fc34ce1ef4e6c3124de58/e4706/FHEM_11.avif 230w\", \"/de/static/a2bab065a56fc34ce1ef4e6c3124de58/d1af7/FHEM_11.avif 460w\", \"/de/static/a2bab065a56fc34ce1ef4e6c3124de58/b6582/FHEM_11.avif 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/a2bab065a56fc34ce1ef4e6c3124de58/a0b58/FHEM_11.webp 230w\", \"/de/static/a2bab065a56fc34ce1ef4e6c3124de58/bc10c/FHEM_11.webp 460w\", \"/de/static/a2bab065a56fc34ce1ef4e6c3124de58/87ca7/FHEM_11.webp 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/a2bab065a56fc34ce1ef4e6c3124de58/81c8e/FHEM_11.png 230w\", \"/de/static/a2bab065a56fc34ce1ef4e6c3124de58/08a84/FHEM_11.png 460w\", \"/de/static/a2bab065a56fc34ce1ef4e6c3124de58/e9beb/FHEM_11.png 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/a2bab065a56fc34ce1ef4e6c3124de58/e9beb/FHEM_11.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`In diesem Beispiel habe ich als UNIX-Passwort `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`instar`}</code>{` ausgewählt. Wenn Sie ein anderes Passwort wählen, müssen Sie in den folgenden Schritten `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`instar`}</code>{` ersetzen.`}</p>\n <p>{`Jetzt müssen wir nur noch den FTP-Dienst neu starten:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`service`}</span>{` proftpd restart`}</code></pre></div>\n <p>{`Wir können unseren Browser zum Testen des FTP-Servers verwenden, indem wir auf die IP-Adresse unseres Raspberry Pi mit dem Präfix `}<em parentName=\"p\">{`ftp://`}</em>{` zugreifen.: `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`ftp://192.168.2.64:21/`}</code>{`:`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/5ce852cb3098060223090f367a175d87/d30ee/FHEM_12.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"33.91304347826087%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABM0lEQVQY02Oob2yuqWuorKlram1PTE7V0jXQ1NZDIB19OMrKySurqCouLS+rqOrs7q2pa2D4DwZ//v79////gQMHzMwtzS2sdfUMdXQNtXX0tbR0tbR0NTV1tHX0nz179v///79glRDA8A8Mfv/+/f///92792jr6BubmOvqGWpq6Wpo6qipa6lr6KqqaWpoaj948BBkzZ8//2AAZvOfP////9+7d5+BoYmegYmquraCoqqisrqCooqsrJy8goqqmtajR4/QbUbWvGPnLlk5RUUldRl5ZRk5ZSkZeRVNY1OnCAUVHXlFNYjNWDRDhI6fOOnl7RcYFBIYFBIUHOrn55eQUdo4fVd0fEZIaMTz58//////798/dM0Q8O/fvz9g8BuK/v78+f3Lp3e/fv6ABAoaAACUHQmgxY7VxQAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/5ce852cb3098060223090f367a175d87/e4706/FHEM_12.avif 230w\", \"/de/static/5ce852cb3098060223090f367a175d87/d1af7/FHEM_12.avif 460w\", \"/de/static/5ce852cb3098060223090f367a175d87/7f308/FHEM_12.avif 920w\", \"/de/static/5ce852cb3098060223090f367a175d87/b84c9/FHEM_12.avif 980w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/5ce852cb3098060223090f367a175d87/a0b58/FHEM_12.webp 230w\", \"/de/static/5ce852cb3098060223090f367a175d87/bc10c/FHEM_12.webp 460w\", \"/de/static/5ce852cb3098060223090f367a175d87/966d8/FHEM_12.webp 920w\", \"/de/static/5ce852cb3098060223090f367a175d87/58b01/FHEM_12.webp 980w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/5ce852cb3098060223090f367a175d87/81c8e/FHEM_12.png 230w\", \"/de/static/5ce852cb3098060223090f367a175d87/08a84/FHEM_12.png 460w\", \"/de/static/5ce852cb3098060223090f367a175d87/c0255/FHEM_12.png 920w\", \"/de/static/5ce852cb3098060223090f367a175d87/d30ee/FHEM_12.png 980w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/5ce852cb3098060223090f367a175d87/c0255/FHEM_12.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Sie sollten sich jetzt mit `}<strong parentName=\"p\">{`username = ftpuser`}</strong>{` und `}<strong parentName=\"p\">{`password = instar`}</strong>{` anmelden können - natürlich sehen wir hier nur ein leeres Verzeichnis.`}</p>\n <p>{`Im Moment kann nur der `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`ftpuser`}</code>{` Dateien lesen und in das ProFTPd-Home-Verzeichnis schreiben - was manchmal etwas frustrierend sein kann, wenn wir eine Datei über den `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`fhem`}</code>{` oder den standardmäßigen `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`pi`}</code>{` Benutzer hinzufügen müssen (beide haben hier nur Leserechte).`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"730px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/86cfcfab087431f3b6cca6da47fb800f/e9beb/FHEM_13.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"16.521739130434785%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAIAAAAcOLh5AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAf0lEQVQI13XLwQqCQBCAYd//ATp1i4KIskYNcimF3WxmdnJdpYxWqEfpEHQIhO/wX/7oaBcHO0MfX0nTuURTOs77Vr2C/noP5td/Ijmtugo8Jo6ShjMvGeuNl32NcPNq6ItwL0bnx3wS1tNWLS3upNo6AjZxw6mjVC5QIzzH5w/1t47YkNJgjwAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/86cfcfab087431f3b6cca6da47fb800f/e4706/FHEM_13.avif 230w\", \"/de/static/86cfcfab087431f3b6cca6da47fb800f/d1af7/FHEM_13.avif 460w\", \"/de/static/86cfcfab087431f3b6cca6da47fb800f/b6582/FHEM_13.avif 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/86cfcfab087431f3b6cca6da47fb800f/a0b58/FHEM_13.webp 230w\", \"/de/static/86cfcfab087431f3b6cca6da47fb800f/bc10c/FHEM_13.webp 460w\", \"/de/static/86cfcfab087431f3b6cca6da47fb800f/87ca7/FHEM_13.webp 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/86cfcfab087431f3b6cca6da47fb800f/81c8e/FHEM_13.png 230w\", \"/de/static/86cfcfab087431f3b6cca6da47fb800f/08a84/FHEM_13.png 460w\", \"/de/static/86cfcfab087431f3b6cca6da47fb800f/e9beb/FHEM_13.png 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/86cfcfab087431f3b6cca6da47fb800f/e9beb/FHEM_13.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <ul>\n <li parentName=\"ul\">{`r: Read`}</li>\n <li parentName=\"ul\">{`w: Write`}</li>\n <li parentName=\"ul\">{`x: eXecute`}</li>\n </ul>\n <p>{`Wir können die Rechte für das Verzeichnis mit dem folgenden Befehl rekursiv ändern:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`chmod`}</span>{` -R `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`755`}</span>{` /var/www/upload/`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"730px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/52e8114c33251ac73ffae0fa0f555155/e9beb/FHEM_14.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"18.26086956521739%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAvElEQVQI12XL3QqCMBgA0N7/FYKIwChcUcZqOa3ZZtPUL3U6sr8ZvUh0E1Fwbk/HiXssH4rQ90i0XkmP7JXdLRd9hQeaWA0daWLVxGqcfqu35irMhX90omBcHHEJrsp8iGkFm4qhk5hpPjXZ6lnQR+62QFog5rz7nu9c+XbtjhMxzQ/OgSOV4n0wgQSncp5nyxJIrej9Kswt/JnvnCa4pqM4QBAtJEO6cCVDIJ00nMV8EjG7UV574ebM//MLfBu7o4/1ED0AAAAASUVORK5CYII=')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/52e8114c33251ac73ffae0fa0f555155/e4706/FHEM_14.avif 230w\", \"/de/static/52e8114c33251ac73ffae0fa0f555155/d1af7/FHEM_14.avif 460w\", \"/de/static/52e8114c33251ac73ffae0fa0f555155/b6582/FHEM_14.avif 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/52e8114c33251ac73ffae0fa0f555155/a0b58/FHEM_14.webp 230w\", \"/de/static/52e8114c33251ac73ffae0fa0f555155/bc10c/FHEM_14.webp 460w\", \"/de/static/52e8114c33251ac73ffae0fa0f555155/87ca7/FHEM_14.webp 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/52e8114c33251ac73ffae0fa0f555155/81c8e/FHEM_14.png 230w\", \"/de/static/52e8114c33251ac73ffae0fa0f555155/08a84/FHEM_14.png 460w\", \"/de/static/52e8114c33251ac73ffae0fa0f555155/e9beb/FHEM_14.png 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/52e8114c33251ac73ffae0fa0f555155/e9beb/FHEM_14.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <table>\n <thead parentName=\"table\">\n <tr parentName=\"thead\">\n <th parentName=\"tr\" {...{\n \"align\": null\n }}>{`Benutzer`}</th>\n <th parentName=\"tr\" {...{\n \"align\": null\n }}>{`Gruppe`}</th>\n <th parentName=\"tr\" {...{\n \"align\": null\n }}>{`Global`}</th>\n </tr>\n </thead>\n <tbody parentName=\"table\">\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`rw-`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`rw-`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`rw-`}</td>\n </tr>\n </tbody>\n </table>\n <p>{`Mit `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`666`}</code>{` erhält der Besitzer (`}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`ftpuser`}</code>{`), seine Gruppe sowie jeder globale Benutzer die Rechte, Dateien innerhalb des Verzeichnisses `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`rw-`}</code>{` zu lesen, zu schreiben, aber nicht auszuführen`}</p>\n <table>\n <thead parentName=\"table\">\n <tr parentName=\"thead\">\n <th parentName=\"tr\" {...{\n \"align\": null\n }}>{`Binary`}</th>\n <th parentName=\"tr\" {...{\n \"align\": null\n }}>{`Octal`}</th>\n <th parentName=\"tr\" {...{\n \"align\": null\n }}>{`Permission`}</th>\n </tr>\n </thead>\n <tbody parentName=\"table\">\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`000`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`0`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`—`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`001`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`1`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`–x`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`010`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`2`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`-w-`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`011`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`3`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`-wx`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`100`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`4`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`r–`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`101`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`5`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`r-x`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`110`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`6`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`rw-`}</td>\n </tr>\n <tr parentName=\"tbody\">\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`111`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`7`}</td>\n <td parentName=\"tr\" {...{\n \"align\": null\n }}>{`rwx`}</td>\n </tr>\n </tbody>\n </table>\n <p>{`Wir können jetzt einen Ordner erstellen, den wir als Upload-Ordner für unsere Bürokamera verwenden möchten:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"text\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-text\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-text\"\n }}>{`sudo mkdir officecam\nsudo chown ftpuser:ftpuser officecam/\nsudo chmod -R 755 /var/www/upload/officecam/`}</code></pre></div>\n <h3 {...{\n \"id\": \"kamera-ftp-upload\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h3\" {...{\n \"href\": \"#kamera-ftp-upload\",\n \"aria-label\": \"kamera ftp upload permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Kamera-FTP-Upload`}</h3>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"841px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/e49edbdd538898df6bfb954891009007/bad1b/FHEM_15.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"69.56521739130434%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAIAAACgpqunAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACn0lEQVQoz1XQW2/SYBzH8RoMFJUdgA3cMsZhLT3BKAwoPXMeT1do+xTaAbtwmiVLNEu8MlmiJh5mjMZE4+J70FtvFo2XxnelwDa3X763nzz5P0iR43lJ5QSxXC4VCmyhwHJciWEoHN9Ip7Hr4RSzmWULGbbcBj2l3kCy2U2GInJlBRx9aT86bT08rR1+lg8+KleSJ32SH7xv7Vj6DtBNs2sYzWYTyWSyFIHnheb+h1/jN2f77366J2f2y7P+q/MGs17/GLz4Dof3bNtydR12OqIkITRNEyTJ5nLQMpw+NHq60dPNiyyjC7Zb7Wa91agpkqAqch2Ag9VVy+9HvF4kk8lQFMXm867rjsdjaNuWBS+D0O50gChKgijyglDhKg0A7GBQQRAERRGGYSaYZV3XHY1G1vVBCDVNq1argiCI02malkqlQsFQOBxGSJKkaZplWcdxhsMhhNA0zasYANBoNCRJEkVREARN08LRKOLx3A7cmWCSJGd4PB7v7u5CCGcMWpZt251OpzYdz/OVSgUAQEbvrnl9K4G5c5zL5WY3O44DpzN7umEYpmV1ttv1el1VVVEUeZ4HmiasJ7j5xfRi8MrLrjve27Ogbff7VUVeTuLRLSGSZsPRlVKxqCjq5M+mNweXlpAbyK1A4BLnB9AY9rtDWx85sFjhvUky4J8PUcv+8EKxxDsDp9/VB72ebZg0RSXi8VQyOf0wimRypZMD6c9z4vcz4u2huiW35iKhjaPExmNqIRThRsdP7z/5ug2+de3jnoVR1PpaLJFITDDDMNlsVlWkmsJXZb5eVdME4bvpC+VDgaU5r8eXJilFVkSOkyoVgecxDIvH4/8xTdNpgsAwHMNwHMej0SiKoj6PD/WhKIpGIpFYLLZ2sZn8h/8C88rNSZdR+qMAAAAASUVORK5CYII=')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/e49edbdd538898df6bfb954891009007/e4706/FHEM_15.avif 230w\", \"/de/static/e49edbdd538898df6bfb954891009007/d1af7/FHEM_15.avif 460w\", \"/de/static/e49edbdd538898df6bfb954891009007/f15cc/FHEM_15.avif 841w\"],\n \"sizes\": \"(max-width: 841px) 100vw, 841px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/e49edbdd538898df6bfb954891009007/a0b58/FHEM_15.webp 230w\", \"/de/static/e49edbdd538898df6bfb954891009007/bc10c/FHEM_15.webp 460w\", \"/de/static/e49edbdd538898df6bfb954891009007/d02c2/FHEM_15.webp 841w\"],\n \"sizes\": \"(max-width: 841px) 100vw, 841px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/e49edbdd538898df6bfb954891009007/81c8e/FHEM_15.png 230w\", \"/de/static/e49edbdd538898df6bfb954891009007/08a84/FHEM_15.png 460w\", \"/de/static/e49edbdd538898df6bfb954891009007/bad1b/FHEM_15.png 841w\"],\n \"sizes\": \"(max-width: 841px) 100vw, 841px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/e49edbdd538898df6bfb954891009007/bad1b/FHEM_15.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Wir können jetzt unsere INSTAR-Kamera so konfigurieren, dass Dateien auf den FTP-Server im `}<a parentName=\"p\" {...{\n \"href\": \"/de/Web_User_Interface/1080p_Serie/Features/FTP/\"\n }}>{`FTP-Menü`}</a>{` hochgeladen werden. Verwenden Sie die IP-Adresse Ihres Raspberry Pi, den Port 21, und geben Sie den Ordner, den Sie im Home-Verzeichnis `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`ftpuser`}</code>{` erstellt haben, als Speicherpfad ein (mit einem voranstehenden `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`./ `}</code>{`). Das Login ist das `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`ftpuser`}</code>{` login - `}<em parentName=\"p\">{`username = ftpuser`}</em>{` und `}<em parentName=\"p\">{`password = instar`}</em>{`. Sie werden sehen, dass das Testbild beim Testen der Einstellungen erfolgreich in das Verzeichnis `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`officecam`}</code>{` hochgeladen wird:`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"841px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/908fa15acbd2316d824d43855f5563cd/bad1b/FHEM_16.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"24.782608695652172%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAIAAADKYVtkAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAApklEQVQY042Luw6CMAAA+UINKgkxCPJwcdCPlQFMjRNU+oKKUFpacXA0US833HJWEO2CKPHD5B2u52/C2AtCZ+3Zjjuzl5/OF6v94ehvYyvLzwCAoizS9JRlObgACG9KKTEMg/yBVZRXVBHO7gSjumk4533fT/9hjarnTFSwNnrS49h13dMYhBCEsG0fP2YpTd1oQiXnkxAjo1QpSSnBGDPKtDFf5heKGPwmwQXcAAAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/908fa15acbd2316d824d43855f5563cd/e4706/FHEM_16.avif 230w\", \"/de/static/908fa15acbd2316d824d43855f5563cd/d1af7/FHEM_16.avif 460w\", \"/de/static/908fa15acbd2316d824d43855f5563cd/f15cc/FHEM_16.avif 841w\"],\n \"sizes\": \"(max-width: 841px) 100vw, 841px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/908fa15acbd2316d824d43855f5563cd/a0b58/FHEM_16.webp 230w\", \"/de/static/908fa15acbd2316d824d43855f5563cd/bc10c/FHEM_16.webp 460w\", \"/de/static/908fa15acbd2316d824d43855f5563cd/d02c2/FHEM_16.webp 841w\"],\n \"sizes\": \"(max-width: 841px) 100vw, 841px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/908fa15acbd2316d824d43855f5563cd/81c8e/FHEM_16.png 230w\", \"/de/static/908fa15acbd2316d824d43855f5563cd/08a84/FHEM_16.png 460w\", \"/de/static/908fa15acbd2316d824d43855f5563cd/bad1b/FHEM_16.png 841w\"],\n \"sizes\": \"(max-width: 841px) 100vw, 841px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/908fa15acbd2316d824d43855f5563cd/bad1b/FHEM_16.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Jetzt müssen wir nur noch den Alarm-FTP-Upload in den `}<a parentName=\"p\" {...{\n \"href\": \"/de/Web_User_Interface/1080p_Serie/Alarm/Aktionen/\"\n }}>{`Alarm Aktionen`}</a>{` aktivieren, wenn ein Alarm auftritt:`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"842px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/04c3029263d8c3a351392da004bc5157/99072/FHEM_17.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"79.13043478260869%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAA7CAAAOwgEVKEqAAAADXElEQVQ4y12TW28bRRiGfZkUBYFUbgBRkjSpncMNpFGSQmzX9npPXu/szB5srw9BzYFWQFClNEIcbpKIgqAyrYRKFZCQuOIX0NAbJH5AxQ96YMc5oF68mtmZneebb773yy2trLG8vMz16++ytrrC0tI7WjfWVlhcmGNmZprZ2avMzrwgvTZNIT9LvjBPzTAo3aySW1hcpLbxFfWPf6Ky8wPVDx9S2n7I+taQ9c3haNwaUvyfzr7f3xxyc3uI/cmPFNPPmZy+Sm5+YYFk/5jB93/R/+aEje+eER+doA6fEh6eEB79qaUOnqIO/tBjeDiSPHhKev+EnUd/o+79zBtvvkVubm4Oo1alFYcEvofn2viei2g2aFgGZnkVq1okkoIkkkRK4HsOQv/jYtar2KbBezfWGB8fJzc/P49t2yRJQhiGWiKQBKKJSPoEH32Lv3GXUEmiOCaOY6SUiCAgCAIsy9Lni8UiY2NjF8A0Tel0UlqtNkIEGtiMevh37uP1PiUKFWm3q/eDDCiEBnqep+fVapXXLl++APb7fQ1tt9v6Btkh17aorK9iVEoopXQW2d6ZMlCz6et5qVzm0sQEuUKhoK/dSVNa7bZWBsuiNzwPw7QxbUen2u12ddBerzd6GiGwLRPXsTBKJV6feJlcPp/HNE06cUwrDImVQvk+oQgQjQaOUcW1TB0kiqJzZQEzoEx6RP1tvFqda6+8Su5aoUBYq3G73WYrabEZJwykInVtOuGA9O4TBoN9WqGkrd+4NYJl8lzUF7/TefQPJVty6aVxcvlCgaZhsBnFfBCGbGSwpk/HdUijAZt7jxnc+gwpfA3LdFZl4XvI2wfE+0+ou4KpySunKVsWvX5fv2OmKE4IfBd/sEs8fE5w75hIBecukFKdV9kyKthGmVq1ytTU1MjYZ7Zpt1qnle4QeA7BYBf14Dly7xgpPA2Ms2Dag5lXBUoqvVav15mcnLywTVbBzDIZMGm1dBeI7h3U0TPk7lB3ju8L/KY76pSmixcIHOHjKUndNJk6A2a2ySqXeS2TPLVNIBUyTAhUhAwCnarcfUD3y9/w9x7ztaP4tSH4xW6iagZXspQzH1YqFRqZRRznBdk4toVj2xdr4QaN9g52fIue6bBdt9g2bYxymbf/u+G/ckJx9g9GcbQAAAAASUVORK5CYII=')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/04c3029263d8c3a351392da004bc5157/e4706/FHEM_17.avif 230w\", \"/de/static/04c3029263d8c3a351392da004bc5157/d1af7/FHEM_17.avif 460w\", \"/de/static/04c3029263d8c3a351392da004bc5157/899b7/FHEM_17.avif 842w\"],\n \"sizes\": \"(max-width: 842px) 100vw, 842px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/04c3029263d8c3a351392da004bc5157/a0b58/FHEM_17.webp 230w\", \"/de/static/04c3029263d8c3a351392da004bc5157/bc10c/FHEM_17.webp 460w\", \"/de/static/04c3029263d8c3a351392da004bc5157/6366e/FHEM_17.webp 842w\"],\n \"sizes\": \"(max-width: 842px) 100vw, 842px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/04c3029263d8c3a351392da004bc5157/81c8e/FHEM_17.png 230w\", \"/de/static/04c3029263d8c3a351392da004bc5157/08a84/FHEM_17.png 460w\", \"/de/static/04c3029263d8c3a351392da004bc5157/99072/FHEM_17.png 842w\"],\n \"sizes\": \"(max-width: 842px) 100vw, 842px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/04c3029263d8c3a351392da004bc5157/99072/FHEM_17.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <h3 {...{\n \"id\": \"fhem-konfigurieren\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h3\" {...{\n \"href\": \"#fhem-konfigurieren\",\n \"aria-label\": \"fhem konfigurieren permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`FHEM konfigurieren`}</h3>\n <p>{`Zunächst erstellen wir ein Dummy-Gerät für die `}<em parentName=\"p\">{`Alarm Ereignisse`}</em>{` in FHEM und weisen es unserem `}<strong parentName=\"p\">{`Office`}</strong>{`-Raum zu:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`define OfficeCam.Alarm dummy`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/48ca3/FHEM_18.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"44.78260869565218%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAIAAAC9o5sfAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACEElEQVQoz2NgY+fy8vZTVlGWV1QTFJFhYGRj5pJi4pJi5pJi4JRw4OAXZWRhYGBiZGBiQEUsLGwMrKysJSUl2jq6GpqafHy8UlJS02fOmzN34eJFC+fNXzBvwcLZc+bOmo2CZs6aO2fuvIkTJzG4ubqUlRTmZacX5mUnJ8XKKOlMnbVk6bLlS5YsXbBo2cJFyxctWbFw0fIFi1csWrJi0WIQWrBoxfIVK6dMn8fQ0T/77PVXR88/OnX1xf6Td02tnJuaWiZNntLX19/W1tHa1tHa2t7S2tbS2t7W1tHe3tne3tnW3tnR2VVX38gQW7Zw8s4/7Ws+9Gz6WrvkpbNfwudPH/7////v37+///7/+/cfE0AEv377zrBu7ap7d27cuXX1wb2b16+cz87OvHv/wZevX99//Pji9bvXb99/+PTxw8ePHz99+vjp04ePH99/+Pj+w4dPnz8/fPSI4dPnL99//v73D2rLuiWrLuw6/O7GzRcXLz46d+XJhevPL115eeX6g9Pn7x4//fjcxSfnLz46d/HV1et3jp1nePjw0Z8/fyHg////86bN6ajqjPMPD/MMDXANKc0o6WuaGOIeEuIeNrN3Tmdtj6Opa01uyeTG5kh3X4YHDx5++/b9z58/EJ/0T5ocl16somfHwMzFwMBgbGqWU1DEwMBgYGScmZefW1jMxsFpZ2+fkJwkKCIMAEn5OuT6H9TcAAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/e4706/FHEM_18.avif 230w\", \"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/d1af7/FHEM_18.avif 460w\", \"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/7f308/FHEM_18.avif 920w\", \"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/78a31/FHEM_18.avif 1084w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/a0b58/FHEM_18.webp 230w\", \"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/bc10c/FHEM_18.webp 460w\", \"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/966d8/FHEM_18.webp 920w\", \"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/dac76/FHEM_18.webp 1084w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/81c8e/FHEM_18.png 230w\", \"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/08a84/FHEM_18.png 460w\", \"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/c0255/FHEM_18.png 920w\", \"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/48ca3/FHEM_18.png 1084w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/1cbe69684e5ddd831c27b1ee692e9a38/c0255/FHEM_18.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Wir können jetzt das Attribut `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`event-on-update-reading`}</code>{` verwenden, um jedes Mal ein Ereignis auszulösen, wenn ein neuer Schnappschuss von unserer Kamera hochgeladen wird:`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/8e8e27d01d81c5729b2eaef547383aef/6d74e/FHEM_19.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"46.95652173913043%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAIAAAC9o5sfAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACEElEQVQoz2NgYWXLyMw2NTPV0TOUkJJnYmIWk5ARFZcRl5QVFZcWFZcWEBLlF0RHfIKiwiJiDMzMzAkJCdraOiqqavz8fBKS0pu379u3/+jhI0cOHjqy/+CRffsP7d13EIL27QehvfsOHjh4aMu2HQxR0dH9/RN6enomTJzY3d2lqqlfUFLb3NJSX99QVVNfXdNYU9tYVdNQBWZU1zRU1zRUVTfU1zcWllQzzJ49++fPXx8+fPj69evr16+9vLwWLFi8Y8euzZu3rl69dsXK1atWrV65EoRWr167bu16KFq3YfmyFQz9Eya8fv3myZMnr169unv3rr9/wOu37///////37/ff//9/fcfF/j56w/Dvn37Hzx4+PDhwydPnjx8+LCxofH21Wtf37//9PrN2+ev3754/fH1q89v3n55+/bDy5cfXr78/Pbtx1evPr158+LhQ4aPHz/++v37Hxj8//9/3aKl+5dvvLJn36lNGw+u3nhs075T24/sXbV1z7I1p7bsPrJ+646FK46t33pl3+F9q7Yx3LlzB+xGqPtWLlt+dO+hTStXLZ0zf/6MObs2bTl37MTi2fPmTJl2/cKlY/sP9bd3rV2+bs/WXfOmzWK4dfv2nTt3Hz9+fP/+/RcvXvT09pfXdU6dtSgps9TRMyw9p6Szf6aTe0BZTWt1Y09n/8zYlLySiroVq1Z19/YCACimWa1HAM72AAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/8e8e27d01d81c5729b2eaef547383aef/e4706/FHEM_19.avif 230w\", \"/de/static/8e8e27d01d81c5729b2eaef547383aef/d1af7/FHEM_19.avif 460w\", \"/de/static/8e8e27d01d81c5729b2eaef547383aef/7f308/FHEM_19.avif 920w\", \"/de/static/8e8e27d01d81c5729b2eaef547383aef/8a1c1/FHEM_19.avif 1085w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/8e8e27d01d81c5729b2eaef547383aef/a0b58/FHEM_19.webp 230w\", \"/de/static/8e8e27d01d81c5729b2eaef547383aef/bc10c/FHEM_19.webp 460w\", \"/de/static/8e8e27d01d81c5729b2eaef547383aef/966d8/FHEM_19.webp 920w\", \"/de/static/8e8e27d01d81c5729b2eaef547383aef/9c2f0/FHEM_19.webp 1085w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/8e8e27d01d81c5729b2eaef547383aef/81c8e/FHEM_19.png 230w\", \"/de/static/8e8e27d01d81c5729b2eaef547383aef/08a84/FHEM_19.png 460w\", \"/de/static/8e8e27d01d81c5729b2eaef547383aef/c0255/FHEM_19.png 920w\", \"/de/static/8e8e27d01d81c5729b2eaef547383aef/6d74e/FHEM_19.png 1085w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/8e8e27d01d81c5729b2eaef547383aef/c0255/FHEM_19.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Die Variable, die unser Gerät jetzt überwacht, ist `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`new_snapshot`}</code>{`, die wir mit dem folgenden Befehl einstellen können: `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`setreading OfficeCam.Alarm new_snapshot test`}</code>{`:`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/d5fc127d0042c7caf253a5eefa828930/f3a19/FHEM_20.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"50.43478260869565%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACVklEQVQoz3XOT0xScQAH8B+SUa4Lq6nNOuiVtv5cWgc6tLbuuaIji9lBhDF98t5DGHUwoRjjAWKM1Jm0mvoQoTrQKWH+aTMfDx7/ZM8/78EUOKDBcvx5r0Vbt7773L77bl/QLuq4d/9Bb19vz9Ve8cUe0NYuOH8ZnOsGom4g6hSIOsGZS9eFHU/OXgCgDQDBP0JhOxAKhRAE3bh5SyKRiMXirq4uq23SOel2u92Trjcu1xSGYVbMbsUcNsyB/WVz2B3OCZMZSKXSIZVKLpc/VShkMtmVvmsz8/iyP+DzLS/iK4t4AF8OLuGBRV8Q9wWWWhbwlUDw09vZD8DpdDIMS9M0y7I7O9nbd+4iyJjZ/Gp8/CWqGxvVIjCCwgiqhVFUpzcYjAaDUa83Go3PoVEYTE/P1OqNSqVSq9WKxWL/w/5y+YTneY7j+P+l1Zz+OgVerzeRTFEUlUqlSJJUDAyENzYz9G48nd4i4ttEnCRjZCxOknEiShJRkiRj0WiMohKRyBqoVKr1RoPjOK7Z5Hl+3u3WPHo8odbo5YrhgWc6g0Gn08EwolKrYRgZHhkZHFQqh1RaLQxBENjb2280mq3xnzfedx+Jb98T4fCPUGgzvJGm2cOj0jYRW9/cYnJH+0x+NbyWSGYOmNzqOgFomj75WalWq/V6neOas3Pvg18j2JQH1r9QqoctVoc/8HlQpbHanD5/0B/8AqN6u2tmbn5BM4ICiqI8Hk8oFDKZTHa73fLaQiUyDHuYyxeS6SzDHBQKRZqmS6VSuVwuHx/n87nsbo7JF1iW+Q3CEXhxYGhw5gAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/d5fc127d0042c7caf253a5eefa828930/e4706/FHEM_20.avif 230w\", \"/de/static/d5fc127d0042c7caf253a5eefa828930/d1af7/FHEM_20.avif 460w\", \"/de/static/d5fc127d0042c7caf253a5eefa828930/7f308/FHEM_20.avif 920w\", \"/de/static/d5fc127d0042c7caf253a5eefa828930/8a2f6/FHEM_20.avif 1086w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/d5fc127d0042c7caf253a5eefa828930/a0b58/FHEM_20.webp 230w\", \"/de/static/d5fc127d0042c7caf253a5eefa828930/bc10c/FHEM_20.webp 460w\", \"/de/static/d5fc127d0042c7caf253a5eefa828930/966d8/FHEM_20.webp 920w\", \"/de/static/d5fc127d0042c7caf253a5eefa828930/326b1/FHEM_20.webp 1086w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/d5fc127d0042c7caf253a5eefa828930/81c8e/FHEM_20.png 230w\", \"/de/static/d5fc127d0042c7caf253a5eefa828930/08a84/FHEM_20.png 460w\", \"/de/static/d5fc127d0042c7caf253a5eefa828930/c0255/FHEM_20.png 920w\", \"/de/static/d5fc127d0042c7caf253a5eefa828930/f3a19/FHEM_20.png 1086w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/d5fc127d0042c7caf253a5eefa828930/c0255/FHEM_20.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Mit FHEM können wir jedoch auch Befehle über HTTP über unseren Webbrowser (oder einen Curl-Befehl auf Ihrem Linux-Terminal) senden. Die entsprechende URL sieht so aus wenn wir die `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`new_snapshot`}</code>{` Variable jetzt auf den Wert `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`test2`}</code>{` setzen möchten: `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`http://192.168.2.64:8083/fhem?cmd=setreading%20OfficeCam.Alarm%20new_snapshot%20test2&XHR=1`}</code>{`:`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/8203a44365af34e7eb014771435bc6df/01645/FHEM_21.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"19.130434782608692%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA/0lEQVQI1wH0AAv/AN3d3dzb29ra2uTk5IiIiIeIiLGxsqurrKOlpqCjqKamp6amp6SlpqOjpKWlpqOjpKOjpKSkpK2troWFhQD09fb8/P3+/v7////BwcGEhIWfn6GhpKWPhIWXb3GYmpyYmJqTlJWPkJGWlpiQkZKNjZCNjpWVmJ6Gh4sAV1xeWFxfVFlcTVFUNzo9QURIS01RSU1QS0tOS0ZKTVBTTE9SS05STU9TTlBUS01RSUxQSUxRUFNYS05SAHR2eHR3eXFzdW1wcnJ0dmptb2dqa2hqbWhrbWhsbmdqbGdpa2dqbHJpbGxpbGJlZ2JkZmFjZXJ0dnFydOKUfB6Kp/m/AAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/8203a44365af34e7eb014771435bc6df/e4706/FHEM_21.avif 230w\", \"/de/static/8203a44365af34e7eb014771435bc6df/d1af7/FHEM_21.avif 460w\", \"/de/static/8203a44365af34e7eb014771435bc6df/7f308/FHEM_21.avif 920w\", \"/de/static/8203a44365af34e7eb014771435bc6df/8e468/FHEM_21.avif 1091w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/8203a44365af34e7eb014771435bc6df/a0b58/FHEM_21.webp 230w\", \"/de/static/8203a44365af34e7eb014771435bc6df/bc10c/FHEM_21.webp 460w\", \"/de/static/8203a44365af34e7eb014771435bc6df/966d8/FHEM_21.webp 920w\", \"/de/static/8203a44365af34e7eb014771435bc6df/49d62/FHEM_21.webp 1091w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/8203a44365af34e7eb014771435bc6df/81c8e/FHEM_21.png 230w\", \"/de/static/8203a44365af34e7eb014771435bc6df/08a84/FHEM_21.png 460w\", \"/de/static/8203a44365af34e7eb014771435bc6df/c0255/FHEM_21.png 920w\", \"/de/static/8203a44365af34e7eb014771435bc6df/01645/FHEM_21.png 1091w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/8203a44365af34e7eb014771435bc6df/c0255/FHEM_21.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <blockquote>\n <p parentName=\"blockquote\"><strong parentName=\"p\">{`Hinweis`}</strong>{` Wenn der Aufruf der URL nicht funktioniert und ein `}<strong parentName=\"p\">{`HTTP ERROR 400`}</strong>{` zur Folge hat, führen Sie den folgenden Befehl in der FHEM-Befehlszeile `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`attr WEB csrfToken none`}</code>{` aus und versuchen Sie es erneut. Schauen Sie ins `}<a parentName=\"p\" {...{\n \"href\": \"https://forum.fhem.de/index.php?topic=68957.0\"\n }}>{`FHEM Forum`}</a>{` für mehr Details und andere Optionen.`}</p>\n </blockquote>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/d8853355221dca32cf527daa3ad2ff21/96e86/FHEM_22.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"34.34782608695652%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAYUlEQVQY06XPsQ2AMAxEUfafhp4hqBiAAiPFkSgi4dhnJUipKBP43RWvuKn+aHoPZjazjzilJCIArFVGMdEZAnOMB5GqDeDqqncyM3cA0Kzu3ovpwh4x/Lm0f8uW51X68QN0Xp6yI6XfyAAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/d8853355221dca32cf527daa3ad2ff21/e4706/FHEM_22.avif 230w\", \"/de/static/d8853355221dca32cf527daa3ad2ff21/d1af7/FHEM_22.avif 460w\", \"/de/static/d8853355221dca32cf527daa3ad2ff21/7f308/FHEM_22.avif 920w\", \"/de/static/d8853355221dca32cf527daa3ad2ff21/22b88/FHEM_22.avif 1089w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/d8853355221dca32cf527daa3ad2ff21/a0b58/FHEM_22.webp 230w\", \"/de/static/d8853355221dca32cf527daa3ad2ff21/bc10c/FHEM_22.webp 460w\", \"/de/static/d8853355221dca32cf527daa3ad2ff21/966d8/FHEM_22.webp 920w\", \"/de/static/d8853355221dca32cf527daa3ad2ff21/37c82/FHEM_22.webp 1089w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/d8853355221dca32cf527daa3ad2ff21/81c8e/FHEM_22.png 230w\", \"/de/static/d8853355221dca32cf527daa3ad2ff21/08a84/FHEM_22.png 460w\", \"/de/static/d8853355221dca32cf527daa3ad2ff21/c0255/FHEM_22.png 920w\", \"/de/static/d8853355221dca32cf527daa3ad2ff21/96e86/FHEM_22.png 1089w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/d8853355221dca32cf527daa3ad2ff21/c0255/FHEM_22.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Im nächsten Schritt müssen wir ein Shell-Skript schreiben, das im Hintergrund auf unserem RasPi ausgeführt wird und das nach neuen Dateien im FTP-Upload-Ordner sucht und die Variable `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`new_snapshot`}</code>{` mit dem Namen der neuesten Datei aktualisiert. Wir benötigen diesen Service, da die Alarmschnappschüsse unserer Kameras mit einem Zeitstempel benannt werden. Daher wissen wir nicht vorraus, wie der Name der Datei lauten wird, und müssen diese Informationen an die FHEM für die weitere Verarbeitung weiterleiten.`}</p>\n <h3 {...{\n \"id\": \"einen-watch-daemon-erstellen\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h3\" {...{\n \"href\": \"#einen-watch-daemon-erstellen\",\n \"aria-label\": \"einen watch daemon erstellen permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Einen Watch Daemon erstellen`}</h3>\n <p>{`Um FHEM zu benachrichtigen, wenn ein Snapshot hochgeladen wurde, müssen wir die `}<strong parentName=\"p\">{`inotify-Tools`}</strong>{` auf unserem RasPi installieren und ein Shellskript im FHEM-Verzeichnis `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`alarmwatch.sh`}</code>{` erstellen. Dieses Skript sollte als Hintergrunddienst ausgeführt werden. Dabei sollte immer geprüft werden, ob eine neue Datei im Überwachungsordner erstellt wurde, und die oben angegebene URL mit dem Namen der Datei als Wert aufgerufen werden (anstelle von `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`test`}</code>{` oder `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`test2`}</code>{`, wie wir sie zuvor getestet haben).`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`apt`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`install`}</span>{` inotify-tools\n`}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`nano`}</span>{` /opt/fhem/alarmwatch.sh\n`}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`chmod`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`744`}</span>{` /opt/fhem/alarmwatch.sh`}</code></pre></div>\n <p>{`Das Skript enthält Folgendes:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"shell\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-shell\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-shell\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token shebang important\"\n }}>{`#!/bin/bash`}</span>{`\n\n`}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`cd`}</span>{` /var/www/upload/officecam\n\n`}<span parentName=\"code\" {...{\n \"className\": \"token comment\"\n }}>{`# use inotify to watch multiple create events inside the camera upload folder`}</span>{`\ninotifywait -m -e create /var/www/upload/officecam `}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`|`}</span>{`\n`}<span parentName=\"code\" {...{\n \"className\": \"token keyword\"\n }}>{`while`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token boolean\"\n }}>{`true`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`;`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token keyword\"\n }}>{`do`}</span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token keyword\"\n }}>{`while`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`read`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token variable\"\n }}>{`$T`}</span>{` path action `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`file`}</span><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`;`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token keyword\"\n }}>{`do`}</span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token comment\"\n }}>{`# cleanUp delete oldest file when 100 files are reached`}</span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`rm`}</span>{` -f `}<span parentName=\"code\" {...{\n \"className\": \"token variable\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token variable\"\n }}>{`\\``}</span><span parentName=\"span\" {...{\n \"className\": \"token function\"\n }}>{`ls`}</span>{` -td -1 /var/www/upload/officecam/** `}<span parentName=\"span\" {...{\n \"className\": \"token operator\"\n }}>{`|`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token function\"\n }}>{`awk`}</span>{` `}<span parentName=\"span\" {...{\n \"className\": \"token string\"\n }}>{`'NR>100'`}</span><span parentName=\"span\" {...{\n \"className\": \"token variable\"\n }}>{`\\``}</span></span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`echo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`\"'`}<span parentName=\"span\" {...{\n \"className\": \"token variable\"\n }}>{`$file`}</span>{`' was created in directory '`}<span parentName=\"span\" {...{\n \"className\": \"token variable\"\n }}>{`$path`}</span>{`' via '`}<span parentName=\"span\" {...{\n \"className\": \"token variable\"\n }}>{`$action`}</span>{`'\"`}</span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token comment\"\n }}>{`# Get FHEM Command URL to set new_snapshot to current file name`}</span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`curl`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`\"http://admin:instar@localhost:8083/fhem?cmd=setreading%20OfficeCam.Alarm%20new_snapshot%20`}<span parentName=\"span\" {...{\n \"className\": \"token variable\"\n }}>{`$file`}</span>{`&XHR=1\"`}</span>{`\n `}<span parentName=\"code\" {...{\n \"className\": \"token keyword\"\n }}>{`done`}</span>{`\n`}<span parentName=\"code\" {...{\n \"className\": \"token keyword\"\n }}>{`done`}</span></code></pre></div>\n <p>{`Wenn Sie etwas anderes für die folgenden Werte ausgewählt haben, passen Sie das Skript bitte entsprechend an:`}</p>\n <ul>\n <li parentName=\"ul\">{`Upload Verzeichnis: `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`/var/www/upload/officecam`}</code></li>\n <li parentName=\"ul\">{`FHEM Benutzername: `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`admin`}</code></li>\n <li parentName=\"ul\">{`FHEM Kennwort: `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`instar`}</code></li>\n <li parentName=\"ul\">{`FHEM Port: `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`8083`}</code></li>\n <li parentName=\"ul\">{`Alarm Dummy Gerät: `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`OfficeCam.Alarm`}</code></li>\n <li parentName=\"ul\">{`Snapshot Variable: `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`new_snapshot`}</code></li>\n </ul>\n <p>{`Um das Skript ausführen zu können, müssen wir den Besitzer von \"root\" in \"fhem\" ändern:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`chmod`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`744`}</span>{` /opt/fhem/alarmwatch.sh\n`}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`chown`}</span>{` fhem:dialout alarmwatch.sh`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"732px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/215bbff89f95271942f59c11559d53b4/d0cc0/FHEM_23.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"80.43478260869566%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAIAAACZeshMAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACOklEQVQoz3XS2W7TQBQG4DwKvAniyeCmNwhaqVwUBKhNQnZ7vC/ZvMyMx7N4Ejt2mrrNAhIS4ikgV1w0kc7l+TTz6/wNH9/q8edQ9BFEkzGSfFJIZ1PNi8IrSn+zDur7YFfH+0f4fBoLai6YXUmvQGqBQUkMGY5KbNCwV2feryLYlbP9EzqNM2Lkwqmkm9pN5rbluEvtVuZ3udfuKe8U/X0t3bM4jVWOtSWzUgSSWBWpwYm+Eu407r24fH0Tf/zzM9vW0WlMoZpCtRAOCUd4PhBYY1DJUysIuxfmxWLl1Jv5SXnEHGtHnDkkUpJwxBFgUJWJEUXdFrrCeb+o3EN9Bgusy8SspMegksbDjJqc6AtqYzxqhl+0pMMqc7/DJ2M3YNwjVOEMRFMQeID5Pea35ayH3Pb3TkfMvJrbT8Ldb07EbozhnYO+xWKAYTSfwNwdltbdw6S/8tv5uLkLB/W0v50P9+vg+eMNDsGS2pX0i1RfEq3gliR6yR2aKPfF+Mc62m6iwy45nVlSa7XwKumk5m1q3gmnxe2m9DrCaSnDD6Z+9STd4+qpkjVIOKJQXTKLxAoORyLRGQYFc6ZR9+Xlq+vg8veBb8/Vk0FA0f9TZYnOoJqn1jzsvjHeZivrYTM7e+csMTgCK+lSqJJIEVjjGCyICeN+B1+n5Wh9Pzk8orMNYwisMicJhmjW5xjQWMkSA8WDr96nYdAkOdg9nvm2SPQ8c0rpHouJgCSGTI1CODTV+q6WS3hO/sN/Afqk6N4z7iVHAAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/215bbff89f95271942f59c11559d53b4/e4706/FHEM_23.avif 230w\", \"/de/static/215bbff89f95271942f59c11559d53b4/d1af7/FHEM_23.avif 460w\", \"/de/static/215bbff89f95271942f59c11559d53b4/cb6c8/FHEM_23.avif 732w\"],\n \"sizes\": \"(max-width: 732px) 100vw, 732px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/215bbff89f95271942f59c11559d53b4/a0b58/FHEM_23.webp 230w\", \"/de/static/215bbff89f95271942f59c11559d53b4/bc10c/FHEM_23.webp 460w\", \"/de/static/215bbff89f95271942f59c11559d53b4/a0372/FHEM_23.webp 732w\"],\n \"sizes\": \"(max-width: 732px) 100vw, 732px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/215bbff89f95271942f59c11559d53b4/81c8e/FHEM_23.png 230w\", \"/de/static/215bbff89f95271942f59c11559d53b4/08a84/FHEM_23.png 460w\", \"/de/static/215bbff89f95271942f59c11559d53b4/d0cc0/FHEM_23.png 732w\"],\n \"sizes\": \"(max-width: 732px) 100vw, 732px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/215bbff89f95271942f59c11559d53b4/d0cc0/FHEM_23.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Wir können jetzt das Skript mit dem Befehl `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`sh /opt/fhem/alarmwatch.sh`}</code>{` manuell starten und testen, ob es funktioniert, indem wir einen Alarm auf unserer Kamera auslösen:`}</p>\n <p><img parentName=\"p\" {...{\n \"src\": \"/de/2d68ecc681483719d58b95af50d64dbb/FHEM_24.gif\",\n \"alt\": \"FHEM Raspberry Pi\"\n }}></img></p>\n <ol>\n <li parentName=\"ol\">{`Der Alarm wird ausgelöst`}</li>\n <li parentName=\"ol\">{`Unsere Kamera lädt einen einzelnen Schnappschuss in das Verzeichnis `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`officecam`}</code></li>\n <li parentName=\"ol\">{`Inotify erkennt, dass eine neue Datei erstellt wurde, und löst unser Skript aus`}</li>\n <li parentName=\"ol\">{`FHEM wird mit dem HTTP-Befehl kontaktiert und `}<code parentName=\"li\" {...{\n \"className\": \"language-text\"\n }}>{`new_snapshot`}</code>{` wird auf den Dateinamen des aktuellsten Uploads gesetzt`}</li>\n </ol>\n <p>{`Nun müssen wir einen Hintergrunddienst erstellen, der unser Skript automatisch als Systemdämon startet. Dies kann mit `}<strong parentName=\"p\">{`SystemD`}</strong>{` erfolgen - `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`sudo nano /etc/systemd/system/OfficeCamWatch.service`}</code>{`:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"shell\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-shell\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-shell\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`[`}</span>{`Unit`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`]`}</span>{`\n`}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`Description`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`OfficeCam Alarm Watch\n\n`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`[`}</span>{`Service`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`]`}</span>{`\n`}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`Type`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`oneshot\n`}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`ExecStart`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`/opt/fhem/alarmwatch.sh\n\n`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`[`}</span>{`Install`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`]`}</span>{`\n`}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`WantedBy`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span>{`multi-user.target`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"851px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/a65cc7caa06b5332b04ac4789cf3f370/0fcea/FHEM_25.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"19.565217391304348%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAvklEQVQI14XLXQvBUADG8X14FrUaM4sim00rzMmVaIptsU0Km71yzrEzPodOSe7Ur+fiXw8zlnm9zw0lVhYrcquidevjAW+oTTASwUg0VGGuSzNNmCgNtVNTJFZuV/UeNx02NwuNiS8mTC2YWSi38c0psft8eOXDJZgqsUvQnuA97YX3Iv6L+M/CK7FbwB3jOyA6rdLQTAIzCdf3dIsyG2Y2ym2Y0/2g0fpCGS3MwQHX0zI6r4LjIo836Pfwzxv/Wrl4dTYoOAAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/a65cc7caa06b5332b04ac4789cf3f370/e4706/FHEM_25.avif 230w\", \"/de/static/a65cc7caa06b5332b04ac4789cf3f370/d1af7/FHEM_25.avif 460w\", \"/de/static/a65cc7caa06b5332b04ac4789cf3f370/7aa96/FHEM_25.avif 851w\"],\n \"sizes\": \"(max-width: 851px) 100vw, 851px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/a65cc7caa06b5332b04ac4789cf3f370/a0b58/FHEM_25.webp 230w\", \"/de/static/a65cc7caa06b5332b04ac4789cf3f370/bc10c/FHEM_25.webp 460w\", \"/de/static/a65cc7caa06b5332b04ac4789cf3f370/155dd/FHEM_25.webp 851w\"],\n \"sizes\": \"(max-width: 851px) 100vw, 851px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/a65cc7caa06b5332b04ac4789cf3f370/81c8e/FHEM_25.png 230w\", \"/de/static/a65cc7caa06b5332b04ac4789cf3f370/08a84/FHEM_25.png 460w\", \"/de/static/a65cc7caa06b5332b04ac4789cf3f370/0fcea/FHEM_25.png 851w\"],\n \"sizes\": \"(max-width: 851px) 100vw, 851px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/a65cc7caa06b5332b04ac4789cf3f370/0fcea/FHEM_25.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Jetzt können wir `}<strong parentName=\"p\">{`SystemD`}</strong>{` neu laden und unseren Service starten:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"text\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-text\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-text\"\n }}>{`sudo systemctl daemon-reload\nsudo systemctl enable OfficeCamWatch.service\nsudo systemctl start OfficeCamWatch.service`}</code></pre></div>\n <p>{`Der Hintergrunddienst ist jetzt aktiv und FHEM sollte jedes Mal benachrichtigt werden, wenn ein Alarm ausgelöst wird und eine Momentaufnahme von unserer Kamera hochgeladen wird:`}</p>\n <p><img parentName=\"p\" {...{\n \"src\": \"/de/584e0d186fc0c0844b6bacbf04065010/FHEM_25a.gif\",\n \"alt\": \"FHEM Raspberry Pi\"\n }}></img></p>\n <p>{`Wir können jetzt mit FHEM eine Push-Benachrichtigung mit dem neuesten Alarmbild mithilfe einer App wie der Android / iOS / Windows-App `}<a parentName=\"p\" {...{\n \"href\": \"https://www.pushsafer.com/\"\n }}>{`Pushsafer`}</a>{` senden. `}<strong parentName=\"p\">{`Hinweis`}</strong>{` es gibt einige andere Apps für Android iOS und Windows, die auch dafür verwendet werden können, falls Sie eine davon bevorzugen:`}</p>\n <ul>\n <li parentName=\"ul\">{`Pushover`}</li>\n <li parentName=\"ul\">{`Pushbullet`}</li>\n <li parentName=\"ul\">{`Prowl`}</li>\n <li parentName=\"ul\">{`PushNotifier`}</li>\n </ul>\n <h3 {...{\n \"id\": \"push-benachrichtigung-mit-pushsafer\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h3\" {...{\n \"href\": \"#push-benachrichtigung-mit-pushsafer\",\n \"aria-label\": \"push benachrichtigung mit pushsafer permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Push-Benachrichtigung mit Pushsafer`}</h3>\n <p>{`Um die Push-Benachrichtigung nutzen zu können, müssen Sie zunächst die `}<a parentName=\"p\" {...{\n \"href\": \"https://www.pushsafer.com\"\n }}>{`Pushsafer App`}</a>{` für `}<a parentName=\"p\" {...{\n \"href\": \"https://play.google.com/store/apps/details?id=de.appzer.Pushsafer\"\n }}>{`Android`}</a>{`, `}<a parentName=\"p\" {...{\n \"href\": \"https://itunes.apple.com/app/pushsafer/id1096581405\"\n }}>{`iOS`}</a>{` oder `}<a parentName=\"p\" {...{\n \"href\": \"https://www.microsoft.com/store/apps/9NBLGGH51ZV6\"\n }}>{`Windows`}</a>{` herunterladen und ein Konto auf der `}<a parentName=\"p\" {...{\n \"href\": \"https://www.pushsafer.com\"\n }}>{`Pushsafer-Website`}</a>{` registrieren. Wenn Sie die Pushsafer-App starten, werden Sie aufgefordert, sich mit Ihren Kontoanmeldeinformationen anzumelden und das von Ihnen verwendete Gerät als Empfänger zukünftiger Push-Benachrichtigungen zu registrieren. Sie finden die API-Dokumentation sowohl im `}<a parentName=\"p\" {...{\n \"href\": \"https://fhem.de/commandref.html#Pushsafer\"\n }}>{`FHEM Wiki`}</a>{` als auch auf der `}<a parentName=\"p\" {...{\n \"href\": \"https://www.pushsafer.com/en/fhem\"\n }}>{`Pushsafer FAQ Seite`}</a>{`.`}</p>\n <p>{`Das `}<a parentName=\"p\" {...{\n \"href\": \"https://www.pushsafer.com/dashboard\"\n }}>{`Pushover-Dashboard`}</a>{` zeigt jetzt Ihren privaten Schlüssel sowie das gerade registrierte Gerät an:`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/146da/FHEM_42.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"78.26086956521739%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADnElEQVQ4y1WUW28bVRDH94vwIfgGFMED4qEv8AwPoEqpoJVASDyUwkMlECAhLrnRKlBEJKhQq+A4lzalcdJcmjRXx3YSO/Z6d+3sxXs7u+vb2j/kbZU2I805M/85c86ZMzNHouWwuLhGIZuDwCRuRbygPv3+Mx7IZ2j/ZZxzuORZBtmSiqzU6Qub0HPZKKhMrR1jNjyEEPi+wGy4pNaLrB4oCWa7HsIXHMo6d5YOUXUb4ftITtg6O6E3GOI2V8YzvPrpPRQroBP5iaVmurzy4SQfDGcSPQzDZJ58VOCtG3NslYyBM9Jp+QhFriCCgHa7TRQI7mQKXJt8Qr5qUdYalBSL3eIpn99eZXQmi2r6HKs28qnD1FqRz35b5XFOQ7cDpM39AtvbW5TLZXTDoGEa/JU54v2fM7z34yIXv3/Eha8f8uZXad75boGL38zz2hcpLlxP8fr1NG/fmOfdbxd448sZrt5aQVrfyZHd3+Po+Bhd19G0OrrToGgVKQsFZWcZ/e7f1DyTSl1N2AldvJZA9RRO7BNKjRPKdgk7dJAODovk87nkhkL42LaL63s4kYETmdiGTONwFyds4AoLR1iIyEU0HezQQLRtRNvBb9u0OhGSblq4rptkbkBBEGE6Foe1A3LVPfK1PGVLQzVUVFNFMzUUXaFSq1Bv1DkNamh+FdWv4kYu0kmliuM4OK5LEAQIEdJsDjb36OMBgyx3kgxC9yWOn+ODdS59HKCFVNeNpAQ6nQ7dbpdmFLG0V+XW/SN+XzhibDbPSPqA4eksw+ksw9P7iTwyc5DgozO552ty3F0pISlafVDi9Hr9pBc6zSb3lgt8MrHMtck1Lo9lGBrL8PHEGlcm1rh6e5OPJta5NPIfQ+MZhm6ucHl8iUuji/zw7x6SrNZoWBaO49Lv9fDDZhIIcQS9FsTBufaiY0Gz8ULv+efMklxVkCuVpGTacUyg1TDmHmL7AU3hQSA4too82PuHdhgRnqqY2jHp8gM25XVcRUZUNtjNpbBCD6nmBvhCEA3esdcj0E30xccoukUQhggRcWKc8PR0h17ce36PmKy1QT2QE61rKsi1PGG7hXTw500qhRxavU671SJotggSx2e/SRzHZ+EErS7TT6tMbcjMb1ksH2psmxusaBusa08wQgMpys1gm3V0w0yyPCgbz/OJ4x6dTpduN6bd6RDHXXQn4Nf5HL+k9/kpleWPpS3ul2eZLc2RKqYoWiX+B0BvgQzWSoxAAAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/e4706/FHEM_42.avif 230w\", \"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/d1af7/FHEM_42.avif 460w\", \"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/7f308/FHEM_42.avif 920w\", \"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/459ad/FHEM_42.avif 943w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/a0b58/FHEM_42.webp 230w\", \"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/bc10c/FHEM_42.webp 460w\", \"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/966d8/FHEM_42.webp 920w\", \"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/18615/FHEM_42.webp 943w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/81c8e/FHEM_42.png 230w\", \"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/08a84/FHEM_42.png 460w\", \"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/c0255/FHEM_42.png 920w\", \"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/146da/FHEM_42.png 943w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/4d5e76fe7b9a6d989cde4d995d74f547/c0255/FHEM_42.png\",\n \"alt\": \"Pushsafer App\",\n \"title\": \"Pushsafer App\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Um FHEM für das Senden von Push-Benachrichtigungen vorzubereiten, stellen Sie sicher, dass das folgende Paket auf Ihrem RasPi installiert ist:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`apt`}</span>{` update\n`}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`sudo`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`apt`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token function\"\n }}>{`install`}</span>{` libio-socket-ssl-perl`}</code></pre></div>\n <p>{`Um ein Pushsafer-Gerät in FHEM zu definieren, können Sie den folgenden Befehl verwenden:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`define `}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`<`}</span>{`name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`>`}</span>{` Pushsafer `}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`<`}</span>{`key`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`>`}</span></code></pre></div>\n <p>{`Der Parameter \\\\<key`}{`>`}{` ist der private Schlüssel, den Sie in Ihrem `}<a parentName=\"p\" {...{\n \"href\": \"https://www.pushsafer.com/dashboard\"\n }}>{`Pushover-Dashboard`}</a>{` finden können. Eine alphanumerische Zeichenfolge (20 Ziffern) aus Ihrem Pushsafer-Konto.`}</p>\n <p><strong parentName=\"p\">{`Beispiel`}</strong>{`:`}</p>\n <p><code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`define PushsaferLogin Pushsafer A1b2c3D4E5F6g7h8i9J0`}</code></p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/0d40b/FHEM_43.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"33.91304347826087%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABhUlEQVQY02XJTy/DYADH8QejTg4SfxKJZA4SQ4KLMwkHbwDvAImTg13YIhEnB/OvfZ62G5O2s9WLsJO5LEGMcCJBbWu79sn6PO1aQeLim8/p9wMzs3ORyFBfeDDc1R9hOgDT08T0AqYHMN2gtRs0d4KWLgBC4F+hUAgsLy+NjU+EBwbambbhkVEpc6Eo52oum82q6TPpLJ2WJEmWFVnO/JFkJZtTt7d3wMZmbD0ajcdiSyurQ6OTe4ciQojl4G5CSByJHEoesSILxWNO+MUhQRD49GlqLRoHH5r28vJaLpfv7ktT0zOIT8pKJnVyynIwsX+Q2D9gIeIggohHvPALIl5MpjY2Y6D08FgsFp+envP5y/mFReJ6wU+e16g71PP84F++/z3e3NyCIHAbvhMEnl55g5Cr6iYhLqGuWbO1z4qum45DKfUIoY5DCf2+6nXS8IOrwjXYuvDiqhtXG1u5ev66ZBhVy8YYY+1Tf9d0y7ZtjA3TrFkWxrha1XXDsGybUHpVKHwBa4QOy2KEBPQAAAAASUVORK5CYII=')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/e4706/FHEM_43.avif 230w\", \"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/d1af7/FHEM_43.avif 460w\", \"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/7f308/FHEM_43.avif 920w\", \"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/ed37e/FHEM_43.avif 1175w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/a0b58/FHEM_43.webp 230w\", \"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/bc10c/FHEM_43.webp 460w\", \"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/966d8/FHEM_43.webp 920w\", \"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/92489/FHEM_43.webp 1175w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/81c8e/FHEM_43.png 230w\", \"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/08a84/FHEM_43.png 460w\", \"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/c0255/FHEM_43.png 920w\", \"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/0d40b/FHEM_43.png 1175w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/d9d348e2e4a4a38e57c934ae7248ae3b/c0255/FHEM_43.png\",\n \"alt\": \"Pushsafer App\",\n \"title\": \"Pushsafer App\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Um eine Nachricht zu senden, können wir jetzt den `}<a parentName=\"p\" {...{\n \"href\": \"https://fhem.de/commandref.html#Pushsafer\"\n }}>{`set Befehl`}</a>{` verwenden:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`set`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`<`}</span>{`name`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`>`}</span>{` message `}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`<`}</span>{`text`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`>`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`[`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`<`}</span>{`option`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token file-descriptor important\"\n }}>{`1`}</span>{`>`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`<`}</span>{`value`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`>`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`<`}</span>{`option`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}><span parentName=\"span\" {...{\n \"className\": \"token file-descriptor important\"\n }}>{`2`}</span>{`>`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`<`}</span>{`value`}<span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`>`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`..`}</span>{`.`}<span parentName=\"code\" {...{\n \"className\": \"token punctuation\"\n }}>{`]`}</span></code></pre></div>\n <p>{`Eine der Optionen, die wir verwenden können, ist die Option `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`picture`}</code>{`, um ein Bild an die Nachricht anzuhängen. Dies kann über einen Dateipfad angegeben werden, der sich in Ihrem Dateisystem befindet (z.B. `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`picture=/var/www/upload/officecam/A19050111495810.jpg`}</code>{`) oder von einer `}<strong parentName=\"p\">{`IPCAM`}</strong>{`-Instanz (wie `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`picture=IPCAM:<name>`}</code>{`) stammen, um den letzte Snapshot zu senden (z.B. `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`picture=IPCAM:OfficeCam`}</code>{`). Die unterstützten Bildformate sind JPG, PNG und GIF.`}</p>\n <p>{`Wir können mit der letzteren Option beginnen und die letzte Momentaufnahme senden, die vom Modul `}<strong parentName=\"p\">{`IPCAM`}</strong>{` aufgezeichnet wurde. Senden Sie einfach den folgenden Befehl, und einige Sekunden später erscheint das Bild als Teil der Push-Benachrichtigung in der Pushsafer-App:`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`set`}</span>{` PushsaferLogin message `}<span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`\"Motion Detection was triggered\"`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`title`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`\"Office Cam Alarm\"`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`picture`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`\"IPCAM:OfficeCam\"`}</span></code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/3c9edff93a882b66b747b9a5ad750898/04784/FHEM_44.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"28.260869565217394%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABcklEQVQY02NwcfVQVJCXkFdVE5E1YOdlYBBiZOBnYBAAI34QYhJkYBRmYOBlYOADi/AyMAoyMAiyc4syFBUXaWhqqWtocHFxCQoLd/X2tHV1tXZ2tnV2tnSAyIampsamxrZOkGBrZ2dze2dTe0drV7eqmipDUVFxVlZWYUFBaFikrrbB26tXnx47+Prkoc/nj/26cur3peNvj+z+cGzPr0snvl86+ePyya8XTnw6e/TblYsuTi4Mr1+/efr06aePH89euGhnYX1r9/Zzq2beXT/r8daFb3cv/Xxw1bfDa74eXv3l4Co4+npwxecDmx1s7Rju3Ll74cLF+/fv79u/39zA8POdG/8/vti/ZV1ve+uzGxd/vXr87dm978/vf3/+4PvzB9+e3//27P73lw+/3LruYGPL8OPHjy9fvvz69ev23buFmVkf79z88ebp67vXbp8/9fr+7R8vH39/8QiCvr149Obh3a/PHv549fjL7RtAzQBa8NUy5lcAAAAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/3c9edff93a882b66b747b9a5ad750898/e4706/FHEM_44.avif 230w\", \"/de/static/3c9edff93a882b66b747b9a5ad750898/d1af7/FHEM_44.avif 460w\", \"/de/static/3c9edff93a882b66b747b9a5ad750898/7f308/FHEM_44.avif 920w\", \"/de/static/3c9edff93a882b66b747b9a5ad750898/85db8/FHEM_44.avif 1174w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/3c9edff93a882b66b747b9a5ad750898/a0b58/FHEM_44.webp 230w\", \"/de/static/3c9edff93a882b66b747b9a5ad750898/bc10c/FHEM_44.webp 460w\", \"/de/static/3c9edff93a882b66b747b9a5ad750898/966d8/FHEM_44.webp 920w\", \"/de/static/3c9edff93a882b66b747b9a5ad750898/963af/FHEM_44.webp 1174w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/3c9edff93a882b66b747b9a5ad750898/81c8e/FHEM_44.png 230w\", \"/de/static/3c9edff93a882b66b747b9a5ad750898/08a84/FHEM_44.png 460w\", \"/de/static/3c9edff93a882b66b747b9a5ad750898/c0255/FHEM_44.png 920w\", \"/de/static/3c9edff93a882b66b747b9a5ad750898/04784/FHEM_44.png 1174w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/3c9edff93a882b66b747b9a5ad750898/c0255/FHEM_44.png\",\n \"alt\": \"Pushsafer App\",\n \"title\": \"Pushsafer App\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Unsere Verbindung zu Pushsafer steht und wir können ein `}<strong parentName=\"p\">{`Notify Device`}</strong>{` in FHEM erstellen, das die Push-Benachrichtigung jedes Mal auslöst, wenn ein neuer Alarm-Snapshot hochgeladen wird. Wir werden dieses Gerät `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`AlarmPush`}</code>{` nennen und jedes Mal, wenn`}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{` OfficeCam.Alarm`}</code>{` ausgelöst wird, eine Benachrichtigung erhalten. Um die URL für das neueste Alarmbild zu erhalten, können wir `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`$EVENT`}</code>{` verwenden, wodurch wir auf das Ereignis `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`new_snapshot: A19050121330310.jpg`}</code>{` zugreifen können. Wir können hier angeben, dass wir nur den Wert `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`A19050121330310.jpg`}</code>{` dieses Paares wollen, indem wir `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`$ EVTPART1`}</code>{` verwenden (`}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`$ EVTPART0`}</code>{` würde stattdessen `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`new_snapshot`}</code>{` geben):`}</p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}>{`define AlarmPush notify OfficeCam.Alarm `}<span parentName=\"code\" {...{\n \"className\": \"token builtin class-name\"\n }}>{`set`}</span>{` PushsaferLogin message `}<span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`'Motion Detection was triggered'`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`title`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`'Office Cam Alarm'`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`picture`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`'/var/www/upload/officecam/`}<span parentName=\"span\" {...{\n \"className\": \"token variable\"\n }}>{`$EVTPART1`}</span>{`'`}</span></code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/c0ebd/FHEM_45.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"48.26086956521739%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB+UlEQVQoz2WQPUwTYRjHX0glyiI1BCcHGj9XZXLABXVwc8REB5fOXaTgoJMJDpKmd23p3fXUA1RC4r0XIjo7oCGpjZE2aHVQagpt7yz38X7eaw4kIfjkl3+ePE/+T/J/wOiVsfPnzg6eSlw8OXzt2ADoG+qNDYLYUERvHIDjoOcEAAOgJx4B4rt9NDkS6wPJZPLSyMhwItHff/T0mQulp4au64bxfH7eUDU9P1sqFDVFLSmqVlQ0RSspWqmoqIbxLH3/AZhIp1Op1NTU5O07d6/fuMlFVGEYRioE39VDtbddXfsMtra3G42G49jr1dr4+K12u0MIQ5jyUGAuPCIIj/yERxw0VyoVUK1tlD9VNr5++/hh9fLoVd1YsiBceAUXFs2XS/DFovnatCC0TBOaJoQWtCzLhObKm+WHj54AzginSHBid1rT049VTTfm5lRNl3N5Sc5lpVxWkrOSLMmyJOf2yEpyoTB7b2ISZFZo5i3LvAtnlv33azWxH5KxMECcsBBTjinnPDyU+ct6FTQd2mijLhI/m92ZTLbdsf0AIUxsx222djwfB+gfaF/9AGFCf21ugpARhDwhWGvrdyFfcP64mFDGmOvhthMgxBjllDJyAEyid9a//wCe59u27ft+vV6XJMl1PYwJwrjrBjseQhj/T3SS83K5/BdtMLz/bm0xxwAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/e4706/FHEM_45.avif 230w\", \"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/d1af7/FHEM_45.avif 460w\", \"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/7f308/FHEM_45.avif 920w\", \"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/de7e5/FHEM_45.avif 1177w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/a0b58/FHEM_45.webp 230w\", \"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/bc10c/FHEM_45.webp 460w\", \"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/966d8/FHEM_45.webp 920w\", \"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/028dc/FHEM_45.webp 1177w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/81c8e/FHEM_45.png 230w\", \"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/08a84/FHEM_45.png 460w\", \"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/c0255/FHEM_45.png 920w\", \"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/c0ebd/FHEM_45.png 1177w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/6f6470ed9bbf82db9bbc5a7ef58fe639/c0255/FHEM_45.png\",\n \"alt\": \"Pushsafer App\",\n \"title\": \"Pushsafer App\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Wir können jetzt einen Alarm auf unserer Kamera auslösen und das Ereignisprotokoll der FHEM überprüfen. Sie sollten sehen, dass die URL korrekt ausgefüllt wurde `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`picture='/var/www/upload/officecam/A19050121330310.jpg'`}</code>{` und das Bild wurde erfolgreich an Pushsafer weitergeleitet.`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"920px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/fe9e8/FHEM_46.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"64.78260869565217%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAC30lEQVQoz2MQEhaNT0jS1NTU0Dbg5uFnYmZl5+RjZuXk4uFXVFLX0NQzMrFQUdNiZGFnZuVkYuFARgz8fHwxMdGSUtLyCvLMzEyysrImxiZGhobW1pZ+fn6BgYGubq6ampqMjAyMjIwMaCA3N3fmzFnTpk1fvGhRdl6JjKyclaWlrY21nb2djY2NubmZopICLx8fAwM2zStXrnr/4cPTp8++f/++bdt2cSkpU1NTc3MzK2srKysrIyNDCSkJbh4eBqxg1qzZd+/eu3z58tOnT5cuW6YjLe1jZuFuauprbe1tZeWkb2Cprq4jJaUpLq4iJCzHwyvHwyPLzSPFyanKzctw587d//////v39////4+fPls8YaK/lbWftVWYs0uAnX2gvYOnubmTvoGhvLyygIAUO4c0J6cMJ5eqqKgOvwDD7Tt3fv769efPn////z948HDZ8uVlJaU9Pd01NdVJSUkT+vumTp0SHxfPz8dXUFDg5OjIwMDg4e5eUV6enp7OcPHSpd9//v769ev////Xr1+vqanZtGlTSXGxnZ29lbVVQkL8vHlzNdTV9XR1Z86YWVZWxsDAkJGRYQsGDKdOn/7x48fnz59///599uzZ9o6O8rLyObNnt7S2WVlahEWEzZkzR01NLS4urrCwqLW1VVRUNC4urqWlpba2luHY8eNfv33//Pnzv79/Dx85Ultb5+HuYWSkv2z50pTklKCg4IkTJ0pJSfX19dXU1MydO9fDwyMmJiY6OjovL4/h9q0b/////fMH5OxLFy+0tLY0NzdXVVXOmD7N398/MNC/oqLCxMQ0MzOTgYFBV1c3LS0tMjJSW1tbRUWF4frte//Buv/////k2auW1raYmJjMzPSQsFBbW1tnZycjI0MxMTE+Pl4GBgZmZmYhISEBAQFOTk5mZmYGQ58aj7yNNknLHTI26Af2SUrLaqirqamrGhgamJqa6unrysjIcPPwYk1hAA/tDJ9SZaHfAAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/e4706/FHEM_46.avif 230w\", \"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/d1af7/FHEM_46.avif 460w\", \"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/7f308/FHEM_46.avif 920w\", \"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/bccf5/FHEM_46.avif 1146w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/a0b58/FHEM_46.webp 230w\", \"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/bc10c/FHEM_46.webp 460w\", \"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/966d8/FHEM_46.webp 920w\", \"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/b28d4/FHEM_46.webp 1146w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/81c8e/FHEM_46.png 230w\", \"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/08a84/FHEM_46.png 460w\", \"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/c0255/FHEM_46.png 920w\", \"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/fe9e8/FHEM_46.png 1146w\"],\n \"sizes\": \"(max-width: 920px) 100vw, 920px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/9ecad83571f6d64c71a0fb30c8f965b6/c0255/FHEM_46.png\",\n \"alt\": \"Pushsafer App\",\n \"title\": \"Pushsafer App\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"bash\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-bash\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-bash\"\n }}><span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`2019`}</span>{`-05-01 `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`21`}</span>{`:33:12 dummy OfficeCam.Alarm new_snapshot: A19050121330310.jpg\nPushsafer PushsaferLogin message `}<span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`'Motion Detection was triggered'`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`title`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`'Office Cam Alarm'`}</span>{` `}<span parentName=\"code\" {...{\n \"className\": \"token assign-left variable\"\n }}>{`picture`}</span><span parentName=\"code\" {...{\n \"className\": \"token operator\"\n }}>{`=`}</span><span parentName=\"code\" {...{\n \"className\": \"token string\"\n }}>{`'/var/www/upload/officecam/A19050121330310.jpg'`}</span>{`\n`}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`2019`}</span>{`-05-01 `}<span parentName=\"code\" {...{\n \"className\": \"token number\"\n }}>{`21`}</span>{`:33:18 Pushsafer PushsaferLogin lastSuccess: message transmitted`}</code></pre></div>\n <p><img parentName=\"p\" {...{\n \"src\": \"/de/1c5502d4977b5050dfbc0c20758f0062/FHEM_46a.gif\",\n \"alt\": \"Pushsafer App\"\n }}></img></p>\n <br /><br />\n <br /><br />\n <h2 {...{\n \"id\": \"mqtt-integration\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h2\" {...{\n \"href\": \"#mqtt-integration\",\n \"aria-label\": \"mqtt integration permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`MQTT Integration`}</h2>\n <p>{`Eine ausführliche Einführung zur Integration Ihres INSTAR Full HD (mit integriertem MQTT Broker) in FHEM finden Sie im Abschnitt `}<a parentName=\"p\" {...{\n \"href\": \"/de/Erweitert/INSTAR_MQTT_Broker/FHEM_Hausautomation/\"\n }}>{`INSTAR MQTT Broker`}</a>{`. Die FHEM-Installation basierte dort jedoch auf der Windows-Version. Diese unterscheidet sich kaum, wenn Sie FHEM erstmal in Betrieb haben. Die Installation von FHEM (`}<em parentName=\"p\">{`wie oben beschrieben`}</em>{`) sowie die Installation der Abhängigkeiten (`}<em parentName=\"p\">{`siehe unten`}</em>{`) sind jedoch offensichtlich bei beiden Betriebsystemen unterschiedlich.`}</p>\n <h3 {...{\n \"id\": \"mqtt-voraussetzung\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h3\" {...{\n \"href\": \"#mqtt-voraussetzung\",\n \"aria-label\": \"mqtt voraussetzung permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`MQTT Voraussetzung`}</h3>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"text\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-text\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-text\"\n }}>{`sudo apt-get install libmodule-pluggable-perl\nsudo cpan install Net::MQTT:Simple\nsudo cpan install Net::MQTT:Constants`}</code></pre></div>\n <h3 {...{\n \"id\": \"installation-von-node-red\",\n \"style\": {\n \"position\": \"relative\"\n }\n }}><a parentName=\"h3\" {...{\n \"href\": \"#installation-von-node-red\",\n \"aria-label\": \"installation von node red permalink\",\n \"className\": \"header-link-icon before\"\n }}><svg parentName=\"a\" {...{\n \"aria-hidden\": \"true\",\n \"focusable\": \"false\",\n \"height\": \"16\",\n \"version\": \"1.1\",\n \"viewBox\": \"0 0 16 16\",\n \"width\": \"16\"\n }}><path parentName=\"svg\" {...{\n \"fillRule\": \"evenodd\",\n \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n }}></path></svg></a>{`Installation von Node-Red`}</h3>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"text\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-text\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-text\"\n }}>{`sudo apt-get install build-essential\n\nwget https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered\n\n\n\nbash update-nodejs-and-nodered`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"729px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/2d181b6f36ef19909626eeae4a18845e/b2982/FHEM_01.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"36.95652173913043%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA4UlEQVQY042P0Y6CMBBF+f9fIRpZ3FUpUqAIW6WAhXZKW8BPMcDb7pJscjKZh3vmZhzJEXAknoFc6EUEHMknEk0AHFmItYx6EQ19MhnyA6erzg09VtSXS7qrz6oNoUNWxQawhdhApOWG3Nx9mu7K/FDmHi+/anrUEo+WGIlXeb0y9Olf8uMzx26O3TvZd/Vl1HNo0IloAlFfBpUYwJvNrPCK2H3cDt/JjpI9tOFkyKjTl81mTDYZ8rLZb3OWOTuxwquoz4oPzk5r8z9x1t/0MlUbGoiNnBfFUd9dVRtqEW3Jb0iZU7GvtnkJAAAAAElFTkSuQmCC')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/2d181b6f36ef19909626eeae4a18845e/e4706/FHEM_01.avif 230w\", \"/de/static/2d181b6f36ef19909626eeae4a18845e/d1af7/FHEM_01.avif 460w\", \"/de/static/2d181b6f36ef19909626eeae4a18845e/e92f3/FHEM_01.avif 729w\"],\n \"sizes\": \"(max-width: 729px) 100vw, 729px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/2d181b6f36ef19909626eeae4a18845e/a0b58/FHEM_01.webp 230w\", \"/de/static/2d181b6f36ef19909626eeae4a18845e/bc10c/FHEM_01.webp 460w\", \"/de/static/2d181b6f36ef19909626eeae4a18845e/78e23/FHEM_01.webp 729w\"],\n \"sizes\": \"(max-width: 729px) 100vw, 729px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/2d181b6f36ef19909626eeae4a18845e/81c8e/FHEM_01.png 230w\", \"/de/static/2d181b6f36ef19909626eeae4a18845e/08a84/FHEM_01.png 460w\", \"/de/static/2d181b6f36ef19909626eeae4a18845e/b2982/FHEM_01.png 729w\"],\n \"sizes\": \"(max-width: 729px) 100vw, 729px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/2d181b6f36ef19909626eeae4a18845e/b2982/FHEM_01.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <div {...{\n \"className\": \"gatsby-highlight\",\n \"data-language\": \"text\"\n }}><pre parentName=\"div\" {...{\n \"className\": \"language-text\"\n }}><code parentName=\"pre\" {...{\n \"className\": \"language-text\"\n }}>{`node-red-start\nnode-red-stop\n\nsudo systemctl enable nodered.service\nsudo systemctl disable nodered.service\n\nsudo systemctl start nodered.service\nsudo systemctl stop nodered.service`}</code></pre></div>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"728px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/6354043c1f2362c7397db51f4de1ddc4/cecac/FHEM_02.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"86.08695652173914%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAIAAABSJhvpAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACXElEQVQ4y3VT2Y7aMBTl/3+gqvpetTMsCc5KAmSPHcd79hAY/qQKtGLKzEjWlR98dM/mBZcmoRqXxpgZ51/fz8sfbz+/Xav99ZK/nZK3U3Kd0rdTchnjj2fBkcniDT38bpjTKK+WXlPtK+5WzGmlV3O35m4rvVbsTl3wDG7ETgmfMV8wvxG7Tnpd5ffK75TXiJ3AFoWgYu40hJcxfqKwYFDHIvUJjFje9tlpzMYxHcd0GlNemCheZ8dXGC5pvlXUHurDeYge4IraQgYFDxELy9vMaYhYRHgoqEPhliFQZhpDQBG7r/dT/w7cq5ltK72GuzVzKmr3yj81x6E+9NV+nvX+frmM8fWJNk42efAKw1UWLItkXVGnq/xOzYC72/O7r9xmCOB0U6YayfRGeH1933Y4tUFf7WeHh+i9zv+jKgwUrVC0ksQq4lV6eCnTTX5jQSGYuvA6JV/mLLBRxJsb2MaphhOtiNck33JsFulGUZtBwJChiD114UPIv5IYMFzCcCmIheIVStYoWhXJhmMzPbxkwWuy/43iNYNbigAvzaE5PMCSWGWml6lWMYdCXRFHlnYjvVq4DXdPXTC2wdgeh5v/Q3Mc2+MDrKjFkMEQIJlOIZDEqpjDEJDEVsQW2BSlydDckMuYPNOmuQ6jVR4scaLxAtBc59jk2GSFUWYahVtZWiTXeWF8bhiB27lDBaAIUAh4YXBsUgRwtuHYoLNhYGyPHz1fyPKvZknsMpvTLlOtzLR7q4bm0M1ph1MffrJZEktRW2Crq3xFZ52K2Pf/OFet8vt57mvunj+A/wBHOilHW1DXAwAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/6354043c1f2362c7397db51f4de1ddc4/e4706/FHEM_02.avif 230w\", \"/de/static/6354043c1f2362c7397db51f4de1ddc4/d1af7/FHEM_02.avif 460w\", \"/de/static/6354043c1f2362c7397db51f4de1ddc4/b8765/FHEM_02.avif 728w\"],\n \"sizes\": \"(max-width: 728px) 100vw, 728px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/6354043c1f2362c7397db51f4de1ddc4/a0b58/FHEM_02.webp 230w\", \"/de/static/6354043c1f2362c7397db51f4de1ddc4/bc10c/FHEM_02.webp 460w\", \"/de/static/6354043c1f2362c7397db51f4de1ddc4/8cb3e/FHEM_02.webp 728w\"],\n \"sizes\": \"(max-width: 728px) 100vw, 728px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/6354043c1f2362c7397db51f4de1ddc4/81c8e/FHEM_02.png 230w\", \"/de/static/6354043c1f2362c7397db51f4de1ddc4/08a84/FHEM_02.png 460w\", \"/de/static/6354043c1f2362c7397db51f4de1ddc4/cecac/FHEM_02.png 728w\"],\n \"sizes\": \"(max-width: 728px) 100vw, 728px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/6354043c1f2362c7397db51f4de1ddc4/cecac/FHEM_02.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n <p>{`Sie können jetzt über die folgende URL auf die Node-RED-Schnittstelle zugreifen `}<code parentName=\"p\" {...{\n \"className\": \"language-text\"\n }}>{`http://192.168.2.64:1880/`}</code>{` - wobei `}<em parentName=\"p\">{`192.168.2.64`}</em>{` durch Ihre Serveradresse (Raspberry Pi) ersetzt werden muss:`}</p>\n <p><span parentName=\"p\" {...{\n \"className\": \"gatsby-resp-image-wrapper\",\n \"style\": {\n \"position\": \"relative\",\n \"display\": \"block\",\n \"marginLeft\": \"auto\",\n \"marginRight\": \"auto\",\n \"maxWidth\": \"730px\"\n }\n }}>{`\n `}<a parentName=\"span\" {...{\n \"className\": \"gatsby-resp-image-link\",\n \"href\": \"/de/static/2060d79a8fdc40be25b62fceb7bda22b/e9beb/FHEM_03.png\",\n \"style\": {\n \"display\": \"block\"\n },\n \"target\": \"_blank\",\n \"rel\": \"noopener\"\n }}>{`\n `}<span parentName=\"a\" {...{\n \"className\": \"gatsby-resp-image-background-image\",\n \"style\": {\n \"paddingBottom\": \"34.34782608695652%\",\n \"position\": \"relative\",\n \"bottom\": \"0\",\n \"left\": \"0\",\n \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAA7CAAAOwgEVKEqAAAABlklEQVQoz5WPTWsTURSG5yfY1moTbdIsakysaT5mbCtVQbDQoC6qG/1BJmnGJNCAKW5dZJG/ILrpRoJ0o8igRYiQTBwHmUkyk6955I6NrrrogQfOPee877lH2r53n7SyhbJ5h2RmA/nWNg+ze+w+eU527xkPHj3l7s5jUsptbiTSrK1n/pPIEI0niMYSpIR2YwspGAgSCkeIrMYIXF0hsBIlFFMIx2VCMZlwXCF0PcPC0jIXLi4xfynI/GKQucUAC5evsJaUScqbxG+miFxbRXp1cMDrwxq1wxrlcpl87gXF/Twv1SJqcd9H5KJXLpUo5PMUCgVyuRyVSoV6vU6j0aBaraKqKpLjukw5XwyHQ3p2j8Fg8LfgeXiex3Q6Rfr0+YS375p8PP5Cu91mMpn4ghmj0chnlruui6Zp/DJNbMvit67TN01GjsPAcZC+fzjiuPGGr0fv+WkY/iZhKhAbZ8ze4/GYH60WhmFgWRamaTI+nXeE4TfjhGariaZrdLvdf6KzEL+0bZtOp4Pe0X2Tfr/vny/qfwATiabh7mPaNwAAAABJRU5ErkJggg==')\",\n \"backgroundSize\": \"cover\",\n \"display\": \"block\"\n }\n }}></span>{`\n `}<picture parentName=\"a\">{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/2060d79a8fdc40be25b62fceb7bda22b/e4706/FHEM_03.avif 230w\", \"/de/static/2060d79a8fdc40be25b62fceb7bda22b/d1af7/FHEM_03.avif 460w\", \"/de/static/2060d79a8fdc40be25b62fceb7bda22b/b6582/FHEM_03.avif 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/avif\"\n }}></source><source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/2060d79a8fdc40be25b62fceb7bda22b/a0b58/FHEM_03.webp 230w\", \"/de/static/2060d79a8fdc40be25b62fceb7bda22b/bc10c/FHEM_03.webp 460w\", \"/de/static/2060d79a8fdc40be25b62fceb7bda22b/87ca7/FHEM_03.webp 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/webp\"\n }}></source>{`\n `}<source parentName=\"picture\" {...{\n \"srcSet\": [\"/de/static/2060d79a8fdc40be25b62fceb7bda22b/81c8e/FHEM_03.png 230w\", \"/de/static/2060d79a8fdc40be25b62fceb7bda22b/08a84/FHEM_03.png 460w\", \"/de/static/2060d79a8fdc40be25b62fceb7bda22b/e9beb/FHEM_03.png 730w\"],\n \"sizes\": \"(max-width: 730px) 100vw, 730px\",\n \"type\": \"image/png\"\n }}></source>{`\n `}<img parentName=\"picture\" {...{\n \"className\": \"gatsby-resp-image-image\",\n \"src\": \"/de/static/2060d79a8fdc40be25b62fceb7bda22b/e9beb/FHEM_03.png\",\n \"alt\": \"FHEM Raspberry Pi\",\n \"title\": \"FHEM Raspberry Pi\",\n \"loading\": \"lazy\",\n \"decoding\": \"async\",\n \"style\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"margin\": \"0\",\n \"verticalAlign\": \"middle\",\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"left\": \"0\"\n }\n }}></img>{`\n `}</picture>{`\n `}</a>{`\n `}</span></p>\n\n </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"names":["_frontmatter","layoutProps","MDXLayout","MDXContent","_ref","components","props","_objectWithoutProperties","_excluded","mdx","Object","assign","mdxType","SEOHelmet","title","dateChanged","author","tag","description","image","twitter","location","pathname","BreadCrumbs","locationBC","locationDE","locationEN","locationFR","crumbLabel","NavButtons","parentName","isMDXComponent"],"sourceRoot":""}