{"id":3046,"date":"2019-07-24T08:51:00","date_gmt":"2019-07-24T08:51:00","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/automatic-cat-feeder\/"},"modified":"2026-04-24T11:35:57","modified_gmt":"2026-04-24T11:35:57","slug":"automatisk-kattemater","status":"publish","type":"post","link":"https:\/\/thecodest.co\/nb\/blog\/automatic-cat-feeder\/","title":{"rendered":"Automatisk kattemater"},"content":{"rendered":"<p><strong>Forestill deg en slik situasjon: Klokken er 06:00 en l\u00f8rdag morgen, du ligger komfortabelt i sengen din og sover fortsatt godt. Plutselig h\u00f8rer du katten din klore p\u00e5 d\u00f8ren, dens h\u00f8ylytte mjauing blir uutholdelig, og katten din har all verdens tid til \u00e5 fortelle deg hva den trenger. Vet du hva den egentlig trenger? Jeg vet det - katten din vil ha mat n\u00e5! Akkurat n\u00e5! Hvordan vet jeg det? Fordi jeg p\u00e5 et tidspunkt begynte \u00e5 mate katten min p\u00e5 det tidspunktet ... Og det ble selvf\u00f8lgelig et nytt standardtidspunkt for \u00e5 f\u00e5 mat.<\/strong><\/p>\n<p>Dette scenariet inspirerte meg til \u00e5 bygge en automatisk kattemater, som ville fjerne problemene med \u00e5 mate katten om morgenen og holde katten forn\u00f8yd.<\/p>\n<h2>F\u00f8rste generasjon<\/h2>\n<p>Den f\u00f8rste generasjonen av kattemateren var en enkel <a href=\"https:\/\/thecodest.co\/nb\/dictionary\/how-to-build-an-mvp\/\">MVP<\/a> laget av litt papp, en enkel servo og ESP WeMos. Den brukte servo til \u00e5 rotere den \u00f8verste beholderen 180 grader for \u00e5 dispensere maten.<\/p>\n<p><iframe loading=\"lazy\" title=\"Google Home kattemater\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/XM9isy4HUUo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>En mikrokontroller var koblet til mitt lokale Wi-Fi og kommuniserte med Smart Home-serveren som kj\u00f8rer HomeAssistant via MQTT-protokollen. Takket v\u00e6re dette kunne jeg bruke HomeAssistant-automatiseringssystemet til \u00e5 planlegge mating og utdeling av mat gjennom Google Home-kommandoer. Hver f\u00f4ring ble definert som en spesiell hendelse i Google Kalender. P\u00e5 den m\u00e5ten kunne jeg enkelt kontrollere f\u00f4ringstiden til katten og endre den ved behov.<\/p>\n<p>Denne generasjonen m\u00f8tte selvf\u00f8lgelig p\u00e5 noen problemer:<\/p>\n<ul>\n<li>den \u00f8verste beholderen kunne av og til l\u00f8sne fra servoh\u00e5ndtaket og s\u00f8le ut all maten (jeg kalte det \"Jackpot-effekten\"),<\/li>\n<li>Den hadde ikke det beste designet,<\/li>\n<li>begynte pappen \u00e5 bli d\u00e5rligere.<\/li>\n<\/ul>\n<p>Som med de fleste MVP-er ble den bare brukt i to \u00e5r f\u00f8r den gikk i stykker.<\/p>\n<h2><strong>Andre generasjon<\/strong><a href=\"https:\/\/macbury.github.io\/SmartHouse\/DIY\/CatFeeder\/#second-generation\"><\/a><\/h2>\n<p>Jeg bestemte meg for at neste kattemater skulle:<\/p>\n<ul>\n<li>bygges av 3D-printede deler,<\/li>\n<li>bruke Raspberry Pi 3,<\/li>\n<li>ha et lite kamera for \u00e5 se hvordan katten reagerte og hva dyret gjorde.<\/li>\n<\/ul>\n<p>Jeg startet hele prosessen med \u00e5 designe grunnleggende elementer for matinndeling. Da designene var klare, ble alle elementene skrevet ut ved hjelp av Creality Ender-3 og PLA<\/p>\n<p><iframe loading=\"lazy\" title=\"Test av konsept for 3D-printet kattemater\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/3vbX-7o-h1c?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h3>Deler<\/h3>\n<p>Etter \u00e5 ha forsikret meg om at alt fungerte, fortsatte jeg med \u00e5 designe og skrive ut resten av delene:<\/p>\n<h4>Base for RaspberryPi (niv\u00e5 0)<\/h4>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/Cat-Feeder-1024x484-1.jpg\" alt=\"\" \/><\/p>\n<p>Den har spesielle steder for skruer som gj\u00f8r det enklere \u00e5 installere Raspberry Pi. I tillegg er det et lite hull p\u00e5 forsiden for enkel tilgang til SD-kortet til Raspberry Pi.<\/p>\n<h4>Sk\u00e5lholder<\/h4>\n<p>Denne plastdelen brukes til \u00e5 plassere en matsk\u00e5l av metall (selvf\u00f8lgelig ble den trykt med gullfilamenter, til \u00e6re og ber\u00f8mmelse for katten min). Den er koblet til basen ved hjelp av 2 neodymmagneter.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/Codest-1024x485-1.jpg\" alt=\"\" \/><\/p>\n<h4>Servoholder (niv\u00e5 1)<\/h4>\n<p>Dette niv\u00e5et brukes til \u00e5 holde servoen mens den roterer delen p\u00e5 neste niv\u00e5. Det har ogs\u00e5 en liten helling for bedre matservering.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/servo-holder-1024x484-1.jpg\" alt=\"\" \/><\/p>\n<h4>Beholder for rasjoneringsmekanisme (niv\u00e5 2)<\/h4>\n<p>Dette er et enkelt, generisk niv\u00e5 som porsjonerer mat fra en beholder som er plassert over. Den roteres av servoen.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/ration-container-1024x484-1.jpg\" alt=\"\" \/><\/p>\n<h4>Holder for matbeholder (niv\u00e5 3)<\/h4>\n<p>Denne delen brukes til \u00e5 holde matbeholderen. Det er den eneste plastdelen som ikke er 3D-printet. Jeg \u00f8nsket \u00e5 minimere matkontakt med 3D-printede deler. I teorien har gjennomsiktig PLA-plast ingen giftige forurensninger, men jeg kj\u00f8pte den billigste frokostblandingsdispenseren og tok matbeholderdelen, bare for \u00e5 v\u00e6re p\u00e5 den sikre siden. Dessuten ser den veldig kul ut.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/fc-484x1024-1.jpg\" alt=\"\" \/><\/p>\n<h4>Hus og lokk<\/h4>\n<p>De to siste delene var huset og lokket. Ikke noe spesielt her, bortsett fra mer gull for \u00e5 f\u00e5 det til \u00e5 se bedre ut og vinne kattens beundring.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/codest-dev-757x1024-1.jpg\" alt=\"\" \/><\/p>\n<h4>Alle deler<\/h4>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/parts-1024x484-1.jpg\" alt=\"\" \/><\/p>\n<h4>Endelig montering<\/h4>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/final-556x1024-1.jpg\" alt=\"\" \/><\/p>\n<h3>Programvare<\/h3>\n<p>Raspberry Pi kj\u00f8rer en Raspbian som er klargjort ved hjelp av <a href=\"https:\/\/github.com\/macbury\/SmartHouse\/blob\/master\/provision\/playbooks\/cat_feeder\/cat.yaml\">ansible spillbok<\/a> for \u00e5 kj\u00f8re disse tjenestene:<\/p>\n<h4>MotionEye<\/h4>\n<p>MotionEye er en programvare med \u00e5pen kildekode for \u00e5 bygge din egen private overv\u00e5king. Den oppdager alle kameraer som er koblet til Raspberry Pi. I tillegg f\u00e5r du bevegelsesdeteksjon, et endepunkt for deling av str\u00f8mmen og st\u00f8tte for webhook.<\/p>\n<h4>Servoservice<\/h4>\n<p>Denne tjenesten styrer servoens rotasjon. Det er en enkel <a href=\"https:\/\/thecodest.co\/nb\/blog\/hire-django-developers\/\">Python<\/a> skript som kobler seg til MQTT-serveren som kj\u00f8rer Smart House-programvaren min, og venter p\u00e5 en melding for \u00e5 utl\u00f8se rotasjonen.<\/p>\n<h4>Ledet tjeneste<\/h4>\n<p>P\u00e5 samme m\u00e5te som servotjenesten implementerer den en protokoll for lyskilder som styres av MQTT i <a href=\"https:\/\/www.home-assistant.io\/integrations\/light.mqtt\/\">HomeAssistant<\/a>.<\/p>\n<h4>Automatisering av hjemmeassistenter<\/h4>\n<p>Og til slutt, HomeAssistant-automatiseringen som utl\u00f8ser mating.<\/p>\n<p>Den utl\u00f8ser matutdeling i to situasjoner:<\/p>\n<ul>\n<li>n\u00e5r f\u00f4ringstiden dukker opp i kalenderen,<\/li>\n<li>n\u00e5r den internasjonale romstasjonen er over der jeg bor.<\/li>\n<\/ul>\n<p>Denne automatiseringen <a href=\"https:\/\/thecodest.co\/nb\/dictionary\/what-is-code-refactoring\/\">kode<\/a> ser slik ut:<\/p>\n<p>- alias: Gi katten mat<br \/>\n  utl\u00f8ser:<br \/>\n    - plattform: stat<br \/>\n      entity_id: 'bin\u00e6r_sensor.iss'<br \/>\n      fra: 'av'<br \/>\n      til: \"p\u00e5<br \/>\n    - plattform: stat<br \/>\n      entity_id: calendar.cat_feed_schedule<br \/>\n      fra: 'av'<br \/>\n      til: \"p\u00e5<br \/>\n  handling:<br \/>\n    - tjeneste: script.feed_the_cat<\/p>\n<h2>Sammendrag<\/h2>\n<p>Denne versjonen er selvsagt ikke den siste. Men den tjener sitt form\u00e5l - katten f\u00e5r god mat og jeg har mine late morgener \ud83d\ude42 \ud83d\ude42 .<\/p>\n<p><iframe loading=\"lazy\" title=\"Testing av mater\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/UsKsxxO5i4k?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>Les mer om dette:<\/strong><\/p>\n<p>- <a href=\"https:\/\/thecodest.co\/blog\/e-commerce-new-state-of-the-game-2020-report\/\">E-commerce: Ny status for spillet 2020 (rapport)<\/a><\/p>\n<p>- <a href=\"https:\/\/thecodest.co\/blog\/how-to-run-a-business-during-the-crisis\/\">Hvordan drive en virksomhet under krisen?<\/a><\/p>\n<p>- <a href=\"https:\/\/thecodest.co\/blog\/ruby-programming-beginners-terminal-part-2\/\">Programmering i Ruby. Nybegynnerens terminal - del 2<\/a><\/p>\n<p><article-software-consulting><\/article-software-consulting><\/p>","protected":false},"excerpt":{"rendered":"<p>Forestill deg en slik situasjon: Klokken er 06:00 en l\u00f8rdag morgen, du ligger komfortabelt i sengen din og sover fortsatt godt. Plutselig h\u00f8rer du katten din klore p\u00e5 d\u00f8ren, dens h\u00f8ylytte mjauing blir uutholdelig, og katten din har all verdens tid til \u00e5 fortelle deg hva den trenger. Vet du hva den egentlig trenger?<\/p>","protected":false},"author":2,"featured_media":3047,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[9],"tags":[],"class_list":["post-3046","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-the-codest"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Automatic Cat Feeder - The Codest<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/nb\/blogg\/automatisk-kattemater\/\" \/>\n<meta property=\"og:locale\" content=\"nb_NO\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatic Cat Feeder\" \/>\n<meta property=\"og:description\" content=\"Imagine such a situation: it is 6:00 AM on a Saturday morning, you are laying comfortably in your bed, still sleeping soundly. Suddenly, you hear your cat scratching on the door, its loud meows become unbearable and your cat has all the time in the world to let you know what its needs. Do you know what it really needs?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/nb\/blogg\/automatisk-kattemater\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2019-07-24T08:51:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-24T11:35:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/cover-image-17.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/automatic-cat-feeder\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/automatic-cat-feeder\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"Automatic Cat Feeder\",\"datePublished\":\"2019-07-24T08:51:00+00:00\",\"dateModified\":\"2026-04-24T11:35:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/automatic-cat-feeder\\\/\"},\"wordCount\":851,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/automatic-cat-feeder\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/cover-image-17.jpg\",\"articleSection\":[\"The Codest\"],\"inLanguage\":\"nb-NO\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/automatic-cat-feeder\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/automatic-cat-feeder\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/automatic-cat-feeder\\\/\",\"name\":\"Automatic Cat Feeder - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/automatic-cat-feeder\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/automatic-cat-feeder\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/cover-image-17.jpg\",\"datePublished\":\"2019-07-24T08:51:00+00:00\",\"dateModified\":\"2026-04-24T11:35:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/automatic-cat-feeder\\\/#breadcrumb\"},\"inLanguage\":\"nb-NO\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/automatic-cat-feeder\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nb-NO\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/automatic-cat-feeder\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/cover-image-17.jpg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/cover-image-17.jpg\",\"width\":1080,\"height\":512},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/automatic-cat-feeder\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automatic Cat Feeder\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nb-NO\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nb-NO\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nb-NO\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/nb\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Automatisk kattemater - The Codest","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/nb\/blogg\/automatisk-kattemater\/","og_locale":"nb_NO","og_type":"article","og_title":"Automatic Cat Feeder","og_description":"Imagine such a situation: it is 6:00 AM on a Saturday morning, you are laying comfortably in your bed, still sleeping soundly. Suddenly, you hear your cat scratching on the door, its loud meows become unbearable and your cat has all the time in the world to let you know what its needs. Do you know what it really needs?","og_url":"https:\/\/thecodest.co\/nb\/blogg\/automatisk-kattemater\/","og_site_name":"The Codest","article_published_time":"2019-07-24T08:51:00+00:00","article_modified_time":"2026-04-24T11:35:57+00:00","og_image":[{"width":1080,"height":512,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/cover-image-17.jpg","type":"image\/jpeg"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"4 minutter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/automatic-cat-feeder\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/automatic-cat-feeder\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"Automatic Cat Feeder","datePublished":"2019-07-24T08:51:00+00:00","dateModified":"2026-04-24T11:35:57+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/automatic-cat-feeder\/"},"wordCount":851,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/automatic-cat-feeder\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/cover-image-17.jpg","articleSection":["The Codest"],"inLanguage":"nb-NO","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/automatic-cat-feeder\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/automatic-cat-feeder\/","url":"https:\/\/thecodest.co\/blog\/automatic-cat-feeder\/","name":"Automatisk kattemater - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/automatic-cat-feeder\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/automatic-cat-feeder\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/cover-image-17.jpg","datePublished":"2019-07-24T08:51:00+00:00","dateModified":"2026-04-24T11:35:57+00:00","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/automatic-cat-feeder\/#breadcrumb"},"inLanguage":"nb-NO","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/automatic-cat-feeder\/"]}]},{"@type":"ImageObject","inLanguage":"nb-NO","@id":"https:\/\/thecodest.co\/blog\/automatic-cat-feeder\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/cover-image-17.jpg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/cover-image-17.jpg","width":1080,"height":512},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/automatic-cat-feeder\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"Automatic Cat Feeder"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"The Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nb-NO"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"nb-NO","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"nb-NO","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/nb\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/nb\/wp-json\/wp\/v2\/posts\/3046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/nb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/nb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/nb\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/nb\/wp-json\/wp\/v2\/comments?post=3046"}],"version-history":[{"count":5,"href":"https:\/\/thecodest.co\/nb\/wp-json\/wp\/v2\/posts\/3046\/revisions"}],"predecessor-version":[{"id":7722,"href":"https:\/\/thecodest.co\/nb\/wp-json\/wp\/v2\/posts\/3046\/revisions\/7722"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/nb\/wp-json\/wp\/v2\/media\/3047"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/nb\/wp-json\/wp\/v2\/media?parent=3046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/nb\/wp-json\/wp\/v2\/categories?post=3046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/nb\/wp-json\/wp\/v2\/tags?post=3046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}